<?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>https://zh.moejue.cn/ja/tags/%E7%BC%96%E7%A8%8B/</link>
    <description>Recent content from 阿珏酱のBlog</description>
    <generator>Hugo</generator>
    <language>ja</language>
    
    <managingEditor>xxx@example.com (MoeJue)</managingEditor>
    <webMaster>xxx@example.com (MoeJue)</webMaster>
    
    <copyright>本ブログのすべての文書は、特に指定されていない限り、BY-NC-SAライセンスに従っています。引用の際は出典を明記してください！</copyright>
    
    <lastBuildDate>Tue, 05 May 2026 20:22:07 +0000</lastBuildDate>
    
    
    <atom:link href="https://zh.moejue.cn/ja/tags/%E7%BC%96%E7%A8%8B/index.xml" rel="self" type="application/rss&#43;xml" />
    

    
    

    <item>
      <title>手書きコードを殺す</title>
      <link>https://zh.moejue.cn/ja/posts/324/</link>
      <pubDate>Tue, 05 May 2026 20:22:07 &#43;0000</pubDate>
      <author>xxx@example.com (MoeJue)</author>
      <guid>https://zh.moejue.cn/ja/posts/324/</guid>
      <description>
        <![CDATA[<h1>手書きコードを殺す</h1><p>著者: MoeJue(xxx@example.com)</p>
        
          <p><img src="https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2026/05/05/ChatGPTImage.jpg" alt="图 90"></p>
<p>最近、コードを書くときに奇妙な感覚がある。</p>
<p>書けないわけでもなく、書きたくないわけでもない。<br>
だが——<br>
<strong>自分の書くことがどんどん不要になっているような気がする。</strong></p>
<p>かつては、機能を実装する際の流れはこうだった。</p>
<p>要件を理解する → 設計を考える → コードを書く → デバッグ → バグ修正 → リリース</p>
<p>今はどうなっている？</p>
<p>要件を説明する → AIがコードを書く → AIがバグを直す → 確認するだけ → リリース</p>
<p>その間にあった「コードを書く」という大きな部分が、突然薄くなり、ほぼ存在しなくなる。</p>
<p>最初はそれがすごく楽だった。<br>
だが、楽しくなるにつれて少し不安になる。</p>
<p>かつてのプログラマーは、「タスクを完了する」ことで得られる達成感に加え、コードを書く過程そのものにも多くの喜びを感じていた。<br>
<img src="https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2026/05/05/AC1D7ECA3FF4B43A59565408847C79A4.jpg" alt="图 86"></p>
<hr>
<h2 id="コードを書くことってもはや重要じゃない">
<a class="header-anchor" href="#%e3%82%b3%e3%83%bc%e3%83%89%e3%82%92%e6%9b%b8%e3%81%8f%e3%81%93%e3%81%a8%e3%81%a3%e3%81%a6%e3%82%82%e3%81%af%e3%82%84%e9%87%8d%e8%a6%81%e3%81%98%e3%82%83%e3%81%aa%e3%81%84"></a>
コードを書くことって、もはや重要じゃない？
</h2><p>かつて私はプログラマーの最も核となる能力は「コードを書くこと」だと思っていた。</p>
<p>速さ、美しさ、抽象化の度合い——これらが「レベル」の差を作っていた。</p>
<p>だが、今ではこの基準がだんだん通用しなくなってきている。</p>
<p>多くのコードは、人間よりAIの方が早く、あるいは同じくらい良く書ける。</p>
<p>特に以下のようなもの：</p>
<ul>
<li>CRUD</li>
<li>API連携</li>
<li>通常のロジック処理</li>
</ul>
<p>AIは圧倒的な効率でこなしてしまう。</p>
<p>時々自分で書いたコードをAIに投げるようになる。</p>
<p>「ちょっと見直して」</p>
<p>すると、単に改善されただけでなく、自分が気づかなかったケースまで補ってくれる。</p>
<p>その瞬間、微妙な違和感がある——<br>
<strong>このコード、誰が書いたのか区別できない。</strong><br>
<img src="https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2026/05/05/585251391-f52fd2e0-c305-47c6-9ef0-99158effae5f.jpg" alt="图 89"></p>
<hr>
<h2 id="さらに奇妙なのは自分で書くのをやめてしまうこと">
<a class="header-anchor" href="#%e3%81%95%e3%82%89%e3%81%ab%e5%a5%87%e5%a6%99%e3%81%aa%e3%81%ae%e3%81%af%e8%87%aa%e5%88%86%e3%81%a7%e6%9b%b8%e3%81%8f%e3%81%ae%e3%82%92%e3%82%84%e3%82%81%e3%81%a6%e3%81%97%e3%81%be%e3%81%86%e3%81%93%e3%81%a8"></a>
さらに奇妙なのは、自分で書くのをやめてしまうこと
</h2><p>これが本当に危険だ。</p>
<p>かつてはコードを書くことは「制御感」だった。</p>
<p>一行一行自分が打ったし、なぜそう書いたのか理解していたし、どこに問題があるかも把握していた。</p>
<p>だが、AIに任せることに慣れてくると、自分で書くことが逆に遅くなることに気づく。</p>
<p>そしてこう感じるようになる：</p>
<p><strong>「なぜ自分で書かなきゃいけないのか？」</strong></p>
<p>これは怠惰ではなく、効率の自然な選択だ。</p>
<p>大きな整数を手計算しないように、自動で生成できるコードを自分で書く必要もなくなる。</p>
<hr>
<h2 id="プログラマーは別の役割へと変貌している">
<a class="header-anchor" href="#%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%9e%e3%83%bc%e3%81%af%e5%88%a5%e3%81%ae%e5%bd%b9%e5%89%b2%e3%81%b8%e3%81%a8%e5%a4%89%e8%b2%8c%e3%81%97%e3%81%a6%e3%81%84%e3%82%8b"></a>
プログラマーは、別の役割へと変貌している
</h2><p>だんだんと毎日の業務内容が変わってきていることに気づく。</p>
<p>もはや：</p>
<ul>
<li>どれだけコードを書くか</li>
<li>どんなデザインパターンを使うか</li>
<li>コードがきれいかどうか</li>
</ul>
<p>ではなく、</p>
<ul>
<li>この要件は何をしたいのか？</li>
<li>AIにどう伝えると誤解されないか？</li>
<li>結果は正しいか？</li>
</ul>
<p>ということに時間を費やすようになる。</p>
        
        <hr><p>この記事は2026-05-05に<a href='https://zh.moejue.cn/'>阿珏酱のBlog</a>で公開され、最終更新日は2026-05-05です</p>]]>
      </description>
      
        <category>谈天说地</category>
      
    </item>
    
    

    <item>
      <title>Web3 オンチェーン紅包 DApp</title>
      <link>https://zh.moejue.cn/ja/posts/303/</link>
      <pubDate>Sat, 10 Jan 2026 14:02:35 &#43;0000</pubDate>
      <author>xxx@example.com (MoeJue)</author>
      <guid>https://zh.moejue.cn/ja/posts/303/</guid>
      <description>
        <![CDATA[<h1>Web3 オンチェーン紅包 DApp</h1><p>著者: MoeJue(xxx@example.com)</p>
        
          <p>これは<strong>100%分散型</strong>のブロックチェーンお年玉（レッドパケット）アプリケーションです。ユーザーはウォレットを接続し、金額と数量を設定してお年玉を送信し、リンクを通じて他の人と共有して受け取ることができます。すべてのデータと操作はブロックチェーンに基づいており、中央集権型サーバーは一切不要で、プロセス全体が安全、透明、追跡可能です。</p>
<p>興味があれば、GitHubで私のコードをご覧ください：<a href="https://github.com/iAJue/redpacket-dapp">redpacket‑dapp</a></p>
<h2 id="機能ハイライト">
<a class="header-anchor" href="#%e6%a9%9f%e8%83%bd%e3%83%8f%e3%82%a4%e3%83%a9%e3%82%a4%e3%83%88"></a>
機能ハイライト
</h2><ul>
<li>🧧 <strong>お年玉の送信</strong>: ウォレットを接続後、金額と数量を設定してブロックチェーンにお年玉を送信します。</li>
<li>🎁 <strong>お年玉の受け取り</strong>: 共有リンクを通じて、他の人はウォレットを接続してブロックチェーンから直接お年玉を受け取ることができます。</li>
<li>🔗 <strong>スマートコントラクト</strong>: Solidityで書かれた安全なスマートコントラクトがすべてのロジックを処理します。</li>
<li>🌐 <strong>マルチチェーン対応</strong>: ローカルテストネットとBSCテストネットをサポートします。</li>
<li>💼 <strong>Web3統合</strong>: MetaMaskウォレットを使用して接続します。</li>
<li>🚀 <strong>完全分散型</strong>: バックエンドサーバーがなく、すべてのデータはブロックチェーンに保存されます。</li>
</ul>
<h2 id="技術スタック">
<a class="header-anchor" href="#%e6%8a%80%e8%a1%93%e3%82%b9%e3%82%bf%e3%83%83%e3%82%af"></a>
技術スタック
</h2><ul>
<li><strong>フロントエンド</strong>：React 19、React Router 6、TypeScript、Vite、Ethers v6</li>
<li><strong>コントラクト層</strong>：Hardhat、Solidity 0.8.x</li>
<li><strong>ツール</strong>：ESLint、Prettier</li>
<li><strong>バックエンド不要</strong>: サーバーへの依存なし ❌</li>
</ul>
<h2 id="クイックスタート">
<a class="header-anchor" href="#%e3%82%af%e3%82%a4%e3%83%83%e3%82%af%e3%82%b9%e3%82%bf%e3%83%bc%e3%83%88"></a>
クイックスタート
</h2><pre><code># 1. プロジェクトの依存関係をインストール
npm install
cd react-dapp &amp;&amp; npm install &amp;&amp; cd ..

# 2. ローカルブロックチェーンノードを起動
npm run node

# 3. スマートコントラクトをコンパイル
npx hardhat compile

# 4. スマートコントラクトをデプロイ
npm run deploy

# 5. フロントエンドを起動
npm run frontend
</code></pre>
<h2 id="ディレクトリ構造">
<a class="header-anchor" href="#%e3%83%87%e3%82%a3%e3%83%ac%e3%82%af%e3%83%88%e3%83%aa%e6%a7%8b%e9%80%a0"></a>
ディレクトリ構造
</h2><pre><code>redpacket-web3/
├─ contracts/                # Solidity スマートコントラクト
│  └─ RedPacket.sol
├─ react-dapp/               # React + Vite フロントエンド
│  ├─ src/
│  │  ├─ components/         # 共通コンポーネント（ウォレットボタン、作成フォームなど）
│  │  ├─ config/             # ABI、コントラクトアドレス設定
│  │  ├─ hooks/              # カスタムフック（useWallet）
│  │  ├─ pages/              # ページ（Home、ClaimPacket）
│  │  ├─ styles/             # グローバルスタイル
│  │  ├─ utils/              # Web3 ユーティリティ関数
│  │  └─ App.tsx             # ルーティングとレイアウト
│  ├─ .env.example           # フロントエンドに必要な環境変数説明
│  └─ package.json
├─ scripts/
│  └─ deploy.js              # Hardhat デプロイスクリプト（自動的にフロントエンド設定に書き込みます）
├─ hardhat.config.js
└─ package.json              # ルートディレクトリのスクリプト（Hardhat + フロントエンドをワンクリックで起動）
</code></pre>
<h2 id="使用ガイド">
<a class="header-anchor" href="#%e4%bd%bf%e7%94%a8%e3%82%ac%e3%82%a4%e3%83%89"></a>
使用ガイド
</h2><h3 id="お年玉の作成">
<a class="header-anchor" href="#%e3%81%8a%e5%b9%b4%e7%8e%89%e3%81%ae%e4%bd%9c%e6%88%90"></a>
お年玉の作成
</h3><ol>
<li>フロントエンドを開き、右上の「ウォレットを接続」をクリックします。</li>
<li>お年玉の総額と個数を入力すると、アプリケーションがフロントエンドで金額をランダムに分割します。</li>
<li>送信後、MetaMaskでトランザクションを確認し、ブロックの承認を待ちます。</li>
<li>成功後、システムが生成した受け取りリンクをコピーして友人と共有できます。</li>
</ol>
<h3 id="お年玉の受け取り">
<a class="header-anchor" href="#%e3%81%8a%e5%b9%b4%e7%8e%89%e3%81%ae%e5%8f%97%e3%81%91%e5%8f%96%e3%82%8a"></a>
お年玉の受け取り
</h3><ol>
<li>共有リンク（URLに <code>/claim/{packetId}</code> が含まれる）を開きます。</li>
<li>同様にまずウォレットを接続し、「クリックして受け取る」をクリックします。</li>
<li>署名確認後、ブロックのパッケージングを待ち、ページに結果と残り個数が表示されます。</li>
</ol>
<h2 id="環境変数">
<a class="header-anchor" href="#%e7%92%b0%e5%a2%83%e5%a4%89%e6%95%b0"></a>
環境変数
</h2><ul>
<li><code>dapp/.env</code>（開発環境では自動的に無視されます。<code>.env.example</code>を参照してください）
<ul>
<li><code>VITE_RPC_URL</code>：フロントエンドが直接接続するノードRPC、デフォルトは <code>http://127.0.0.1:8545</code></li>
<li><code>VITE_CONTRACT_ADDRESS</code>：デプロイスクリプトによって書き込まれたアドレスを上書きできます。</li>
<li><code>VITE_CHAIN_ID</code>：フロントエンドが使用するチェーンID（16進数）</li>
</ul>
</li>
<li><code>root/.env</code>：Hardhatで秘密鍵やBSC RPCを参照する必要がある場合は、既存の記述をそのまま使用できます。</li>
</ul>
<h2 id="スマートコントラクトredpacketsol">
<a class="header-anchor" href="#%e3%82%b9%e3%83%9e%e3%83%bc%e3%83%88%e3%82%b3%e3%83%b3%e3%83%88%e3%83%a9%e3%82%af%e3%83%88redpacketsol"></a>
スマートコントラクト（RedPacket.sol）
</h2><p>コアメソッド：</p>
        
        <hr><p>この記事は2026-01-10に<a href='https://zh.moejue.cn/'>阿珏酱のBlog</a>で公開され、最終更新日は2026-01-10です</p>]]>
      </description>
      
        <category>折腾代码</category>
      
    </item>
    
    

    <item>
      <title>萌音ストア モバイル版 発売</title>
      <link>https://zh.moejue.cn/ja/posts/256/</link>
      <pubDate>Thu, 17 Apr 2025 09:07:11 &#43;0000</pubDate>
      <author>xxx@example.com (MoeJue)</author>
      <guid>https://zh.moejue.cn/ja/posts/256/</guid>
      <description>
        <![CDATA[<h1>萌音ストア モバイル版 発売</h1><p>著者: MoeJue(xxx@example.com)</p>
        
          <h3 id="プロジェクト紹介">
<a class="header-anchor" href="#%e3%83%97%e3%83%ad%e3%82%b8%e3%82%a7%e3%82%af%e3%83%88%e7%b4%b9%e4%bb%8b"></a>
プロジェクト紹介
</h3><p>萌音商城モバイル版は、uniappをベースに開発されたマルチプラットフォームECシステムで、iOS、Android、H5、ミニプログラムなど複数のプラットフォームをサポートしています。システムはPHP + MySQL + FastAdminをバックエンド技術スタックとして採用し、完全なEC機能を実現しています。</p>
<h3 id="主要機能">
<a class="header-anchor" href="#%e4%b8%bb%e8%a6%81%e6%a9%9f%e8%83%bd"></a>
主要機能
</h3><ul>
<li>商品管理：カテゴリ分け、リスト表示、詳細表示</li>
<li>ショッピングフロー：カート、決済、支払い、注文管理</li>
<li>ユーザーシステム：会員センター、個人情報管理</li>
<li>マルチベンダーモード：ベンダーが独立して商品と注文を管理</li>
<li>配送システム：注文をERP(管家婆)システムにプッシュして処理する機能をサポート</li>
<li>デュアルモード取引：
<ul>
<li>オンライン注文、宅配便発送</li>
<li>オンライン注文、店舗受け取り/配達員による配送</li>
</ul>
</li>
</ul>
<h3 id="システムプレビュー">
<a class="header-anchor" href="#%e3%82%b7%e3%82%b9%e3%83%86%e3%83%a0%e3%83%97%e3%83%ac%e3%83%93%e3%83%a5%e3%83%bc"></a>
システムプレビュー
</h3><h4 id="バックエンド管理画面">
<a class="header-anchor" href="#%e3%83%90%e3%83%83%e3%82%af%e3%82%a8%e3%83%b3%e3%83%89%e7%ae%a1%e7%90%86%e7%94%bb%e9%9d%a2"></a>
バックエンド管理画面
</h4><p><img src="https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2025/04/17/QQ20250417-111108_04_17_2025.jpg" alt=""> <img src="https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2025/04/17/QQ20250417-111207_04_17_2025.jpg" alt=""> <img src="https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2025/04/17/QQ20250417-111236_04_17_2025.jpg" alt=""> <img src="https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2025/04/17/QQ20250417-111316_04_17_2025.jpg" alt=""> <img src="https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2025/04/17/QQ20250417-111333_04_17_2025.jpg" alt=""> <img src="https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2025/04/17/QQ20250417-111348_04_17_2025.jpg" alt=""> <img src="https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2025/04/17/QQ20250417-111425_04_17_2025.jpg" alt=""> <img src="https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2025/04/17/QQ20250417-114400_04_17_2025.jpg" alt=""></p>
<h4 id="ミニプログラム画面">
<a class="header-anchor" href="#%e3%83%9f%e3%83%8b%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%a0%e7%94%bb%e9%9d%a2"></a>
ミニプログラム画面
</h4><p><img src="https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2025/04/17/QQ20250417-115015_04_17_2025.jpg" alt=""> <img src="https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2025/04/17/QQ20250417-115348_04_17_2025.jpg" alt=""> <img src="https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2025/04/17/Screenshot_2025-04-17-11-51-48-260_com.tencent.mm_04_17_2025.jpg" alt=""> <img src="https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2025/04/17/Screenshot_2025-04-17-11-51-41-636_com.tencent.mm_04_17_2025.jpg" alt=""> <img src="https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2025/04/17/Screenshot_2025-04-17-11-51-32-607_com.tencent.mm_04_17_2025.jpg" alt=""> <img src="https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2025/04/17/Screenshot_2025-04-17-11-51-28-173_com.tencent.mm_04_17_2025.jpg" alt=""> <img src="https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2025/04/17/Screenshot_2025-04-17-11-51-14-865_com.tencent.mm_04_17_2025.jpg" alt=""> <img src="https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2025/04/17/QQ20250417-115521_04_17_2025.jpg" alt=""> <img src="https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2025/04/17/QQ20250417-115423_04_17_2025.jpg" alt=""> <img src="https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2025/04/17/QQ20250417-115405_04_17_2025.jpg" alt=""></p>
<h3 id="バージョン説明">
<a class="header-anchor" href="#%e3%83%90%e3%83%bc%e3%82%b8%e3%83%a7%e3%83%b3%e8%aa%ac%e6%98%8e"></a>
バージョン説明
</h3><p>現在のバージョンはV1.0版です。一部の画面は将来の計画のために予約されており、実際のニーズに基づいて継続的に更新・改善されます。正式リリース版がなく、ミニプログラムの運用も開始していないため、オンラインでデモできるバージョンはありません。現在のプログラムはV1.0の初期バージョンであり、一部の画面は事前に計画されて予約されています。今後、ニーズに応じて更新されます。</p>
<h3 id="購入について">
<a class="header-anchor" href="#%e8%b3%bc%e5%85%a5%e3%81%ab%e3%81%a4%e3%81%84%e3%81%a6"></a>
購入について
</h3><ul>
<li>価格：188元 (バージョン更新後、状況に応じて価格が調整される場合があります。実際の価格をご確認ください)</li>
<li>内容：完全なソースコード（モバイル版とバックエンドを含む、暗号化なし、ライセンスなし）</li>
<li>紹介リベート：友人の購入を紹介すると20%のリベートを獲得できます</li>
<li>更新サービス：生涯無料更新</li>
<li>利用規約：無断での転売は禁止します。違反した場合、更新サービスは停止されます。</li>
<li>開発サポート：ソースコードには詳細なコメントが含まれており、二次開発に便利です。</li>
<li>プロジェクトホスティング：コードはGitHubでホストされており、更新履歴は完全かつ透明です。</li>
<li>マルチプラットフォームサポート：他のクライアントはご自身でコンパイルする必要があります。WeChatミニプログラム環境をベースに開発されています。</li>
</ul>
<h3 id="連絡先">
<a class="header-anchor" href="#%e9%80%a3%e7%b5%a1%e5%85%88"></a>
連絡先
</h3><ul>
<li>QQ交流グループ：<a href="https://qm.qq.com/q/Fhqk6HKUaQ">参加はこちら</a></li>
<li>個人のQQリンクがないため、グループ参加後、グループオーナーに@メンションして購入についてお問い合わせください。</li>
<li>プロジェクトが売れ残っています。阿珏酱を助けてください。</li>
</ul>
<h3 id="オンラインデモ">
<a class="header-anchor" href="#%e3%82%aa%e3%83%b3%e3%83%a9%e3%82%a4%e3%83%b3%e3%83%87%e3%83%a2"></a>
オンラインデモ
</h3><ul>
<li><a href="https://v.douyin.com/3l90gHoAf0A/">WeChatミニプログラム版デモ動画</a></li>
<li>バックエンドのデモ環境についてはお問い合わせください。</li>
<li>WeChatミニプログラムの体験権限追加についてはお問い合わせください。</li>
</ul>
        
        <hr><p>この記事は2025-04-17に<a href='https://zh.moejue.cn/'>阿珏酱のBlog</a>で公開され、最終更新日は2025-09-06です</p>]]>
      </description>
      
        <category>折腾代码</category>
      
    </item>
    
    

    <item>
      <title>AEはできませんが、コードは書けます</title>
      <link>https://zh.moejue.cn/ja/posts/280/</link>
      <pubDate>Sat, 23 Aug 2025 12:29:01 &#43;0000</pubDate>
      <author>xxx@example.com (MoeJue)</author>
      <guid>https://zh.moejue.cn/ja/posts/280/</guid>
      <description>
        <![CDATA[<h1>AEはできませんが、コードは書けます</h1><p>著者: MoeJue(xxx@example.com)</p>
        
          <h2 id="-緒山まひろの隠れ家-">
<a class="header-anchor" href="#-%e7%b7%92%e5%b1%b1%e3%81%be%e3%81%b2%e3%82%8d%e3%81%ae%e9%9a%a0%e3%82%8c%e5%ae%b6-"></a>
✨ 緒山まひろの隠れ家 ✨
</h2><p><img src="https://mahiro.moejue.cn/static/images/onimai.png" alt="緒山まひろ"></p>
<h3 id="-緒山まひろの隠れ家へようこそ-">
<a class="header-anchor" href="#-%e7%b7%92%e5%b1%b1%e3%81%be%e3%81%b2%e3%82%8d%e3%81%ae%e9%9a%a0%e3%82%8c%e5%ae%b6%e3%81%b8%e3%82%88%e3%81%86%e3%81%93%e3%81%9d-"></a>
🌸 緒山まひろの隠れ家へようこそ 🌸
</h3><p><img src="https://mahiro.moejue.cn/static/images/Mahiro06.png" alt="緒山まひろ"></p>
<p>わぁ！私の秘密基地を見つけちゃったんだね！(*≧ω≦)</p>
<p>ここは緒山まひろの個人サイトだよ。かわいいアニメーションと面白いコンテンツがいっぱい！ ここでは、私のお気に入りのアニメ、マンガ、ゲーム、そして日常のささやかな幸せをシェアしていくね～</p>
<h3 id="-私について-">
<a class="header-anchor" href="#-%e7%a7%81%e3%81%ab%e3%81%a4%e3%81%84%e3%81%a6-"></a>
💕 私について 💕
</h3><p>私は緒山まひろ。エロゲを愛する引きこもりのダメニートだよ。 アニメ、マンガ、ライトノベル、そしてかわいいものが大好き！ 好きな色はピンクと水色！</p>
<pre tabindex="0"><code>  ∩∩
（･ω･）  &lt;- 私だよ！
＿|　⊃／(＿＿
／ └-(＿＿＿／
</code></pre><p><img src="https://mahiro.moejue.cn/static/images/visual_chara_mahiro-mihari.webp" alt="緒山まひろ"></p>
<h3 id="-サイトコンテンツ-">
<a class="header-anchor" href="#-%e3%82%b5%e3%82%a4%e3%83%88%e3%82%b3%e3%83%b3%e3%83%86%e3%83%b3%e3%83%84-"></a>
🎀 サイトコンテンツ 🎀
</h3><ul>
<li>🌟 素敵なアニメーション</li>
<li>📚 私のプライベートフォト</li>
<li>🎵 おすすめの音楽</li>
<li>📷 日常のワンシーン</li>
</ul>
<h3 id="-関連リンク-">
<a class="header-anchor" href="#-%e9%96%a2%e9%80%a3%e3%83%aa%e3%83%b3%e3%82%af-"></a>
🌈 関連リンク 🌈
</h3><ul>
<li>🎭 デモ: <a href="https://mahiro.moejue.cn/">https://mahiro.moejue.cn/</a></li>
<li>🏠 個人ブログ: <a href="https://MoeJue.cn/">https://MoeJue.cn/</a></li>
<li>🐱 GitHub: <a href="https://github.com/iAJue/Mahiro">https://github.com/iAJue/Mahiro</a></li>
<li>📧 公式サイト: <a href="https://onimai.jp/">https://onimai.jp/</a></li>
</ul>
<h3 id="-著作権情報-">
<a class="header-anchor" href="#-%e8%91%97%e4%bd%9c%e6%a8%a9%e6%83%85%e5%a0%b1-"></a>
📝 著作権情報 📝
</h3><ul>
<li>このサイトは @Moejue によってデザイン・開発されました</li>
<li>サイト内で使用されているすべてのアニメーション、マンガの画像、キャラクター、および関連コンテンツの著作権は、原作者（ねことうふ）およびその発行元（スタジオバインド、一迅社）に帰属します</li>
<li>著作権侵害の可能性がある場合は、上記の連絡先までお知らせください。速やかに関連コンテンツを削除いたします</li>
<li>GNU GENERAL PUBLIC LICENSE Version 2</li>
<li>Copyright © 2025 MoeJue. All rights reserved.</li>
</ul>
<h3 id="-スペシャルサンクス-">
<a class="header-anchor" href="#-%e3%82%b9%e3%83%9a%e3%82%b7%e3%83%a3%e3%83%ab%e3%82%b5%e3%83%b3%e3%82%af%e3%82%b9-"></a>
💌 スペシャルサンクス 💌
</h3><p>緒山まひろを好きでいてくれるみんな、ありがとう！(●&rsquo;◡&rsquo;●)</p>
        
        <hr><p>この記事は2025-08-23に<a href='https://zh.moejue.cn/'>阿珏酱のBlog</a>で公開され、最終更新日は2025-08-23です</p>]]>
      </description>
      
        <category>折腾代码</category>
      
    </item>
    
    

    <item>
      <title>Web3.0ベースのブロックチェーン画像アップロード</title>
      <link>https://zh.moejue.cn/ja/posts/201/</link>
      <pubDate>Mon, 17 Jun 2024 12:57:43 &#43;0000</pubDate>
      <author>xxx@example.com (MoeJue)</author>
      <guid>https://zh.moejue.cn/ja/posts/201/</guid>
      <description>
        <![CDATA[<h1>Web3.0ベースのブロックチェーン画像アップロード</h1><p>著者: MoeJue(xxx@example.com)</p>
        
          <p>始める前に、まず基本的な概念を簡単に理解しましょう。以下のいくつかの点にまとめました。<a href="https://www.cnblogs.com/Ajue/p/18252827">Web3.0とは何か、ブロックチェーンとどのような関係があるのか？</a>（前回の記事がここで役立ちますね）</p>
<p>要件：PythonベースのWeb 3.0画像アップロードシステムを開発します。このシステムは、ユーザーが画像をアップロードし、その画像を分散型ネットワークに保存し、同時にトランザクション情報をブロックチェーンに記録することを可能にします。もともとは遊びで書いていたもので、ユーザー認証やファイル操作を統合した完全な管理システムにして、「画像アップロードサービスの最終的な解決策」にしようと考えたこともありましたが、実際にやってみるとあまり現実的ではないことに気づき、断念しました。しかし、私は昔から画像にこだわりがあるのです。</p>
<h3 id="ステップの概要">
<a class="header-anchor" href="#%e3%82%b9%e3%83%86%e3%83%83%e3%83%97%e3%81%ae%e6%a6%82%e8%a6%81"></a>
ステップの概要
</h3><ol>
<li><strong>環境設定</strong>：Pythonを使用して開発し、必要なPythonライブラリをインストールします。</li>
<li><strong>IPFS統合</strong>：画像をIPFSにアップロードし、画像のCID（Content Identifier）を取得します。</li>
<li><strong>ブロックチェーン統合</strong>：IPFSのCIDをブロックチェーンに記録します。</li>
<li><strong>Webインターフェース</strong>：Flaskを使用して、ユーザーが画像をアップロードできるWebインターフェースを作成します。</li>
</ol>
<h3 id="詳細なステップ">
<a class="header-anchor" href="#%e8%a9%b3%e7%b4%b0%e3%81%aa%e3%82%b9%e3%83%86%e3%83%83%e3%83%97"></a>
詳細なステップ
</h3><h4 id="1-環境設定">
<a class="header-anchor" href="#1-%e7%92%b0%e5%a2%83%e8%a8%ad%e5%ae%9a"></a>
1. 環境設定
</h4><p>必要なPythonライブラリをインストールします：</p>
<pre tabindex="0"><code>pip install flask web3 ipfshttpclient
</code></pre><h4 id="2-ipfs統合">
<a class="header-anchor" href="#2-ipfs%e7%b5%b1%e5%90%88"></a>
2. IPFS統合
</h4><p>IPFS（InterPlanetary File System）は、ピアツーピアのファイルストレージプロトコルです。<code>ipfshttpclient</code>ライブラリを使用してIPFSネットワークと対話できます。</p>
<p>まず、IPFSノードをインストールして実行していることを確認してください。まだIPFSをインストールしていない場合は、<a href="https://ipfs.io">IPFS公式サイト</a>でインストールガイドを見つけることができます。</p>
<p>以下は、画像をIPFSにアップロードするコード例です：</p>
<pre tabindex="0"><code>import ipfshttpclient

def upload_to_ipfs(file_path):
    client = ipfshttpclient.connect(&#39;/ip4/127.0.0.1/tcp/5001&#39;)
    res = client.add(file_path)
    return res[&#39;Hash&#39;]
</code></pre><h4 id="3-ブロックチェーン統合">
<a class="header-anchor" href="#3-%e3%83%96%e3%83%ad%e3%83%83%e3%82%af%e3%83%81%e3%82%a7%e3%83%bc%e3%83%b3%e7%b5%b1%e5%90%88"></a>
3. ブロックチェーン統合
</h4><p><code>web3.py</code>ライブラリを使用してIPFSのCIDをブロックチェーンに記録します。ここではイーサリアム（Ethereum）をサンプルブロックチェーンとして使用します。</p>
<p>以下は、IPFSのCIDを保存するための簡単なスマートコントラクトの例です：</p>
<pre tabindex="0"><code>pragma solidity ^0.8.0;

contract IPFSStorage {
    mapping(address =&gt; string[]) public userCIDs;

    function storeCID(string memory cid) public {
        userCIDs[msg.sender].push(cid);
    }

    function getCIDs() public view returns (string[] memory) {
        return userCIDs[msg.sender];
    }
}
</code></pre><p>このコントラクトをコンパイルしてデプロイした後、以下のPythonコードを使用してスマートコントラクトと対話します：</p>
        
        <hr><p>この記事は2024-06-17に<a href='https://zh.moejue.cn/'>阿珏酱のBlog</a>で公開され、最終更新日は2025-07-06です</p>]]>
      </description>
      
        <category>折腾代码</category>
      
    </item>
    
    

    <item>
      <title>マルチチェーン対応は、想像以上に複雑だ</title>
      <link>https://zh.moejue.cn/ja/posts/269/</link>
      <pubDate>Sat, 05 Jul 2025 08:20:55 &#43;0000</pubDate>
      <author>xxx@example.com (MoeJue)</author>
      <guid>https://zh.moejue.cn/ja/posts/269/</guid>
      <description>
        <![CDATA[<h1>マルチチェーン対応は、想像以上に複雑だ</h1><p>著者: MoeJue(xxx@example.com)</p>
        
          <h4 id="初めてのマルチチェーンウォレット統合の実践的考察">
<a class="header-anchor" href="#%e5%88%9d%e3%82%81%e3%81%a6%e3%81%ae%e3%83%9e%e3%83%ab%e3%83%81%e3%83%81%e3%82%a7%e3%83%bc%e3%83%b3%e3%82%a6%e3%82%a9%e3%83%ac%e3%83%83%e3%83%88%e7%b5%b1%e5%90%88%e3%81%ae%e5%ae%9f%e8%b7%b5%e7%9a%84%e8%80%83%e5%af%9f"></a>
初めてのマルチチェーンウォレット統合の実践的考察
</h4><p>ようやく時間ができてコードを整理できるようになりました。Web3プロジェクトでマルチチェーンウォレット接続機能を導入する際、主にEthereum、Polygon、BSC、Solanaが関わってきます。一見すると「互換性のあるロジックをいくつか追加するだけ」のように思えますが、実際に実装してみると、多くのことが思ったほど単純ではないと気づきました。</p>
<pre tabindex="0"><code>this.networkConfigs = {
    ethereum: {
        chainId: &#39;0x1&#39;, // 1
        chainName: &#39;Ethereum Mainnet&#39;,
        nativeCurrency: {
            name: &#39;Ethereum&#39;,
            symbol: &#39;ETH&#39;,
            decimals: 18
        },
        rpcUrls: [&#39;https://eth-mainnet.public.blastapi.io&#39;],
        blockExplorerUrls: [&#39;https://etherscan.io&#39;]
    },
    polygon: {
        chainId: &#39;0x89&#39;, // 137
        chainName: &#39;Polygon Mainnet&#39;,
        nativeCurrency: {
            name: &#39;MATIC&#39;,
            symbol: &#39;MATIC&#39;,
            decimals: 18
        },
        rpcUrls: [&#39;https://polygon-rpc.com&#39;],
        blockExplorerUrls: [&#39;https://polygonscan.com&#39;]
    },
    bsc: {
        chainId: &#39;0x38&#39;, // 56
        chainName: &#39;BNB Smart Chain&#39;,
        nativeCurrency: {
            name: &#39;BNB&#39;,
            symbol: &#39;BNB&#39;,
            decimals: 18
        },
        rpcUrls: [&#39;https://bsc-dataseed.binance.org&#39;],
        blockExplorerUrls: [&#39;https://bscscan.com&#39;]
    }
}
</code></pre><h4 id="マルチチェーンは単に複数のウォレットをサポートすることではない">
<a class="header-anchor" href="#%e3%83%9e%e3%83%ab%e3%83%81%e3%83%81%e3%82%a7%e3%83%bc%e3%83%b3%e3%81%af%e5%8d%98%e3%81%ab%e8%a4%87%e6%95%b0%e3%81%ae%e3%82%a6%e3%82%a9%e3%83%ac%e3%83%83%e3%83%88%e3%82%92%e3%82%b5%e3%83%9d%e3%83%bc%e3%83%88%e3%81%99%e3%82%8b%e3%81%93%e3%81%a8%e3%81%a7%e3%81%af%e3%81%aa%e3%81%84"></a>
マルチチェーンは単に「複数のウォレットをサポートする」ことではない
</h4><p>最も強く感じたのは、チェーンが異なればウォレットのインタラクション方法も異なり、SDKの考え方すら違うということです。イーサリアムエコシステムでは統一されたWeb3.jsで多くのロジックを処理できますが、Solanaになると、完全に別のシステムであることがわかります。プロバイダーの接続、接続フロー、PublicKeyの構築方法が異なり、ネットワークの遅延や安定性までもがユーザー体験に影響を与えます。</p>
        
        <hr><p>この記事は2025-07-05に<a href='https://zh.moejue.cn/'>阿珏酱のBlog</a>で公開され、最終更新日は2025-07-05です</p>]]>
      </description>
      
        <category>折腾代码</category>
      
    </item>
    
    

    <item>
      <title>macOS風のWebアプリを構築する</title>
      <link>https://zh.moejue.cn/ja/posts/260/</link>
      <pubDate>Sun, 11 May 2025 11:46:03 &#43;0000</pubDate>
      <author>xxx@example.com (MoeJue)</author>
      <guid>https://zh.moejue.cn/ja/posts/260/</guid>
      <description>
        <![CDATA[<h1>macOS風のWebアプリを構築する</h1><p>著者: MoeJue(xxx@example.com)</p>
        
          <h3 id="プロジェクト概要">
<a class="header-anchor" href="#%e3%83%97%e3%83%ad%e3%82%b8%e3%82%a7%e3%82%af%e3%83%88%e6%a6%82%e8%a6%81"></a>
プロジェクト概要
</h3><p>今日のWeb開発分野において、ユーザーエクスペリエンスとインターフェースデザインはますます重要になっています。</p>
<p>Mac Web Vue Templateは、macOSのデザインにインスパイアされた、モダンでエレガントなVue.jsのWebテンプレートです。Vue.jsをベースにした現代的なWebアプリケーションテンプレートであり、そのデザインはmacOSの優雅なインターフェースから着想を得ています。このプロジェクトは、美しいUIデザインだけでなく、完全なプロジェクト構造とベストプラクティスも提供します。</p>
<h4 id="オンラインデモ">
<a class="header-anchor" href="#%e3%82%aa%e3%83%b3%e3%83%a9%e3%82%a4%e3%83%b3%e3%83%87%e3%83%a2"></a>
オンラインデモ
</h4><p><a href="https://mac.moejue.cn/">WebAi</a> にアクセスすることで、このテンプレートの実際の効果を体験できます。招待コード(MoeJue)</p>
<h3 id="主な特徴">
<a class="header-anchor" href="#%e4%b8%bb%e3%81%aa%e7%89%b9%e5%be%b4"></a>
主な特徴
</h3><ol>
<li>
<p><strong>macOS風のUIデザイン</strong></p>
<ul>
<li>macOSのデザイン言語を採用</li>
<li>洗練されたすりガラス効果</li>
<li>エレガントなアニメーショントランジション</li>
</ul>
</li>
<li>
<p><strong>モダンな技術スタック</strong></p>
<ul>
<li>Vue.jsをコアフレームワークとして使用</li>
<li>Viteをビルドツールとして使用</li>
<li>Piniaによる状態管理</li>
<li>Vue Routerによるルーティング処理</li>
<li>SCSSプリプロセッサ</li>
<li>ES6+のモダンな機能</li>
</ul>
</li>
<li>
<p><strong>レスポンシブデザイン</strong></p>
<ul>
<li>あらゆる画面サイズに完璧に対応</li>
<li>スムーズなモバイル体験</li>
</ul>
</li>
</ol>
<h3 id="プロジェクト構造の解説">
<a class="header-anchor" href="#%e3%83%97%e3%83%ad%e3%82%b8%e3%82%a7%e3%82%af%e3%83%88%e6%a7%8b%e9%80%a0%e3%81%ae%e8%a7%a3%e8%aa%ac"></a>
プロジェクト構造の解説
</h3><p>プロジェクトは、明確でモジュール化されたディレクトリ構造を採用しています：</p>
<pre tabindex="0"><code>src/
├── assets/          # 静的リソース
├── components/      # Vueコンポーネント
│   ├── common/     # 共通コンポーネント
│   ├── system/     # システムコンポーネント
│   └── apps/       # アプリケーションコンポーネント
├── views/          # ページビュー
├── router/         # ルーティング設定
├── stores/         # 状態管理
└── utils/          # ユーティリティ関数
</code></pre><p>この構造設計により、プロジェクトは良好な保守性と拡張性を備えています。</p>
        
        <hr><p>この記事は2025-05-11に<a href='https://zh.moejue.cn/'>阿珏酱のBlog</a>で公開され、最終更新日は2025-05-11です</p>]]>
      </description>
      
        <category>折腾代码</category>
      
    </item>
    
    

    <item>
      <title>ESP8266-NodeMCU開発ボードを使って、私のQQアバターを表示してみる。</title>
      <link>https://zh.moejue.cn/ja/posts/200/</link>
      <pubDate>Sun, 16 Jun 2024 12:50:42 &#43;0000</pubDate>
      <author>xxx@example.com (MoeJue)</author>
      <guid>https://zh.moejue.cn/ja/posts/200/</guid>
      <description>
        <![CDATA[<h1>ESP8266-NodeMCU開発ボードを使って、私のQQアバターを表示してみる。</h1><p>著者: MoeJue(xxx@example.com)</p>
        
          <p>ええ、自分でESP8266開発ボードのファームウェアを書くと言っていた私が戻ってきました。20年前に約束した通り、今日、その願いを叶えに戻ってきました。<a href="https://www.cnblogs.com/Ajue/p/18202561">ESP8266串口WiFi模块 - WiFi杀手</a></p>
<p>今日はOLEDディスプレイも接続します。今回購入したのは4ピンのOLED（128*64）で、カラー表示には対応していません。</p>
<h3 id="nodemcu開発ボード">
<a class="header-anchor" href="#nodemcu%e9%96%8b%e7%99%ba%e3%83%9c%e3%83%bc%e3%83%89"></a>
NodeMCU開発ボード
</h3><p>NodeMCUはオープンソースのIoTハードウェア開発ボードです。WIFI機能をサポートし、Arduino開発ボードと非常に似た使用方法であるため、近年、世界中のメイカーたちからますます人気を集めています。NodeMCUのサイズはArduino Nanoに似ています。Arduinoチームによって開発されたものではありませんが、Arduino IDEを使用して開発することも可能です。</p>
<p>あらゆるものがインターネットに接続されるIoTの基盤として、まずIoT制御ボードのコストが高すぎてはいけません。高価なIoT制御コンポーネントは、プロジェクトのコスト管理に不利であり、多くのメイカー愛好家が学習し使用する上でも不利です。この点において、NodeMCUはRaspberry PiやArduinoファミリーのIoTプラットフォームなどよりも優位性があります。</p>
<p>注意深い方はすでにお気づきかもしれませんが、私の開発ボードはESP8266-NodeMCUと呼ばれています。しかし、他のウェブサイトや資料では、ESP8266と表記されたり、NodeMCUと表記されたりすることがあります。では、ESP8266とNodeMCUの間にはどのような関係があるのでしょうか？</p>
<p>ESP8266はチップ（鉄製のケースに収められた四角いもの）であり、NodeMCUはESP8266チップを核とした開発ボードです。下の図に示す通りです。 <img src="https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2024/06/16/78350c19ly8hu4vo3lpljj21hc140n7w.jpg" alt=""> 小さなチップのピンをコンピューターに接続し、プログラムをアップロードするなどの操作を行うのは非常に困難であるため、ESP8266チップを中心とした様々な開発ボードが誕生しました。NodeMCUもこれらの開発ボードの一つです。</p>
<p>NodeMCU開発ボード上の2列のピンヘッダーは、ESP8266チップのピンに接続されています。開発ボード上の2列のピンヘッダーがあれば、デュポン線を使ってチップのピンを実験回路に簡単に接続できます。NodeMCU開発ボードにはUSBポートと電圧変換回路も搭載されています。これらは私たちに大きな利便性を提供します。USBデータケーブル1本で、ESP8266への給電とプログラムのアップロードを簡単に実現できます。もちろん、NodeMCU開発ボードの回路機能はこれだけではありませんが、これ以上は深掘りしません。</p>
<h3 id="ドライバーのインストール">
<a class="header-anchor" href="#%e3%83%89%e3%83%a9%e3%82%a4%e3%83%90%e3%83%bc%e3%81%ae%e3%82%a4%e3%83%b3%e3%82%b9%e3%83%88%e3%83%bc%e3%83%ab"></a>
ドライバーのインストール
</h3><p>以前にも開発ボードのドライバーインストールについては説明しましたが、十分詳細ではありませんでした。</p>
<p>現在市販されているESP8266ドライバーには様々な種類があり、同じNodeMCU開発ボードであってもドライバーが異なる場合があります。現在主流なのはCH340とCP210Xのドライバーです。</p>
<p>ドライバーのダウンロードは、チップメーカーの公式サイトから直接行ってください。 CP210X：<a href="https://cn.silabs.com/developers/usb-to-uart-bridge-vcp-drivers">https://cn.silabs.com/developers/usb-to-uart-bridge-vcp-drivers</a> CH340C：<a href="https://www.wch.cn/downloads/CH341SER_EXE.html">https://www.wch.cn/downloads/CH341SER_EXE.html</a></p>
<p>ご自身のプラットフォームに適したドライバーインストーラーをダウンロードしてください。ご自身のシリアルチップのモデルがドライバーのサポート範囲内にあるか、よく確認する必要があります。</p>
<h3 id="自分の開発ボードに必要なドライバーを確認する方法">
<a class="header-anchor" href="#%e8%87%aa%e5%88%86%e3%81%ae%e9%96%8b%e7%99%ba%e3%83%9c%e3%83%bc%e3%83%89%e3%81%ab%e5%bf%85%e8%a6%81%e3%81%aa%e3%83%89%e3%83%a9%e3%82%a4%e3%83%90%e3%83%bc%e3%82%92%e7%a2%ba%e8%aa%8d%e3%81%99%e3%82%8b%e6%96%b9%e6%b3%95"></a>
自分の開発ボードに必要なドライバーを確認する方法
</h3><ol>
<li>直接見る。下の図の縦長の黒い長方形がUSB-シリアル変換チップです。その上にチップのモデル名が記載されています。 <img src="https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2024/06/16/78350c19ly8hu4voc3xefj21hc140n7w.jpg" alt=""></li>
<li>購入した販売店に尋ねる。</li>
</ol>
<h3 id="ディスプレイのはんだ付け">
<a class="header-anchor" href="#%e3%83%87%e3%82%a3%e3%82%b9%e3%83%97%e3%83%ac%e3%82%a4%e3%81%ae%e3%81%af%e3%82%93%e3%81%a0%e4%bb%98%e3%81%91"></a>
ディスプレイのはんだ付け
</h3><p>はんだ付けを間違えないでください。間違えるとチップが焼損します。OLEDの配線：</p>
<ul>
<li>GND - GND</li>
<li>VCC - VCC</li>
<li>SCL - GPIO5(D1)</li>
<li>SDA - GPIO4(D2)</li>
</ul>
<p>はんだごて加熱中 <img src="https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2024/06/16/78350c19ly8hu4voij5a5j21hc1404dj.jpg" alt=""></p>
<p>以下がはんだ付け完了したものです。配線に注意してください。この順番であるとは限りません。名称を確認してください。 <img src="https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2024/06/16/78350c19ly8hu4voof65aj21hc140dqi.jpg" alt=""></p>
<h3 id="arduino-ideのインストール">
<a class="header-anchor" href="#arduino-ide%e3%81%ae%e3%82%a4%e3%83%b3%e3%82%b9%e3%83%88%e3%83%bc%e3%83%ab"></a>
Arduino IDEのインストール
</h3><ol>
<li>
<p>Arduino IDEをダウンロード <a href="https://www.arduino.cc/en/software">https://www.arduino.cc/en/software</a></p>
</li>
<li>
<p>インストール。インストールまで私が教える必要がありますか？</p>
</li>
<li>
<p>設定。「ツール」-「ボード」-「ボードマネージャー」をクリックし、設定でボードアドレスを記述します：<a href="http://arduino.esp8266.com/stable/package_esp8266com_index.json">http://arduino.esp8266.com/stable/package_esp8266com_index.json</a> その後、対応するサポートライブラリファイルが自動的にダウンロードされます。この間、ネットワークの安定性を確保する必要があります。</p>
</li>
<li>
<p>開発ボードを選択: NodeMCU1.0(ESP-12EModule)</p>
</li>
<li>
<p>ポートを選択: コンピューターのデバイスマネージャーで開発ボードのCOMポートを見つけます。</p>
</li>
</ol>
<h3 id="arduinoコード">
<a class="header-anchor" href="#arduino%e3%82%b3%e3%83%bc%e3%83%89"></a>
Arduinoコード
</h3><p>時々、私が長々と説明するよりも、直接コードを見せる方が手っ取り早いと感じます。あなたもきっと、私の無駄話を聞くよりも直接コードを見たいと思っているでしょう。私も可能な限りコードにコメントを付けました（Arduinoコードの記述はC/C++言語の規範に従ってください）。</p>
<p>以下の例では、WiFi接続にはライブラリを使用しています。初回接続時には、ESP8266が発信するWiFiに携帯電話で接続し、ネットワーク設定を行う必要があります。画面への書き出しにはライブラリを使用しており、中国語の直接書き出しをサポートしています。</p>
<ol>
<li>これは、WiFi接続と画面への画像表示の簡単な例です。</li>
</ol>
<pre tabindex="0"><code>#include &lt;Adafruit_GFX.h&gt;
#include &lt;Adafruit_SSD1306.h&gt;
#include &lt;ESP8266WiFi.h&gt;
#include &lt;NTPClient.h&gt;
#include &lt;WiFiManager.h&gt;
#include &lt;U8g2lib.h&gt;

#define SDA 4  // SDA引脚，默认gpio4(D2)
#define SCL 5  // SCL引脚，默认gpio5(D1)

Adafruit_SSD1306 oled(128, 64, &amp;Wire,-1);   //OLED 屏幕实例化
WiFiUDP ntpUDP;

NTPClient timeClient(ntpUDP,&#34;pool.ntp.org&#34;, 8*3600, 60000);

U8G2_SSD1306_128X64_NONAME_F_SW_I2C u8g2(U8G2_R0, /*clock=*/SCL, /*data=*/SDA, /*reset=*/U8X8_PIN_NONE);           // 选择显示屏幕

// 只执行一次
void setup() {

  u8g2.begin();            // 初始化
  u8g2.enableUTF8Print();  // UTF8允许
  u8g2.setFont(u8g2_font_wqy12_t_gb2312b); //字体大小   u8g2_font_wqy15_t_gb2312b  

  // 初始化屏幕
  OLED_Init();

  OLED_Showchin(1,13,&#34;正在连接WiFi....&#34;,0);
  WiFiManager wifiManager;
  wifiManager.autoConnect(&#34;ESP8266&#34;);

  OLED_Showchin(1,27,&#34;WiFi连接成功！&#34;,0);
  OLED_Showchin(1,41,&#34;名称： &#34; + WiFi.SSID(),0);
  OLED_Showchin(1,55,&#34;IP: &#34; + WiFi.localIP().toString(),1);

  // 获取时间
  timeClient.begin();
  u8g2.setFont(u8g2_font_wqy15_t_gb2312b); //字体大小   u8g2_font_wqy15_t_gb2312b  

  OLED_Showchin(1,13,&#34;宁小建&#34;,0);
  OLED_Showchin(1,27,&#34;hhhhhhhhhhhh&#34;,0);
  OLED_Showchin(1,55,&#34;大傻逼哈哈哈&#34;,1);

  timeClient.update();
  OLED_Showchin(1,20,&#34;当前北京时间: &#34;,0);
  OLED_Showchin(1,41,timeClient.getFormattedTime(),1);
  delay(1000);
  OLED_img();
}

// 重复执行程序
void loop() {
  // 更新时间
  // timeClient.update();
  // OLED_Showchin(1,27,&#34;当前北京时间: &#34;,0);
  // OLED_Showchin(1,41,timeClient.getFormattedTime(),0);
}

// 打印输出到屏幕（支持中文）
void OLED_Showchin(uint8_t x, uint8_t y, String string, uint8_t boot) {
  u8g2.setCursor(x, y);  //设置显示坐标
  u8g2.print(string);  // 指定缓存区需要打印的字符串
  u8g2.sendBuffer();          // 将定位信息发送到缓冲区
  if(boot == 1){
    delay(1000);
    u8g2.clearBuffer();     // 清除缓存，其实初始化里有清除，循环时一定要加上
  }
}

// 屏幕初始化
void OLED_Init() {
  oled.begin(SSD1306_SWITCHCAPVCC, 0x3C);     //&#34;SSD1306_SWITCHCAPVCC&#34;表示显示器为OLED ,&#34;0x3C&#34;为OLED屏幕默认通信地址
  oled.setTextColor(WHITE);//开像素点发光
  oled.clearDisplay();//清屏
}

// 输出屏幕
void OLED_ShowString(uint8_t x, uint8_t y, uint8_t font_size, String string) {
  oled.setTextSize(font_size);    //设置字体尺寸 (&gt;=1)
  oled.setCursor(x, y);           //设置显示坐标
  oled.println(string);           //显示内容
  oled.display();                 //开启显示
}

// 绘画
void OLED_img() {
  //  图片数据
    const unsigned char gImage_1[518] = { 0X00,0X01,0X40,0X00,0X40,0X00,
  0X00,0X40,0X00,0X00,0X00,0X3E,0XF0,0X00,0X00,0X80,0X00,0X00,0X00,0X1F,0XE0,0X00,
  0X00,0X00,0X00,0X00,0X00,0X06,0XB0,0X00,0X01,0X00,0X00,0X00,0X00,0X03,0XF8,0X00,
  0X00,0X00,0X00,0X00,0X00,0X03,0XFC,0X00,0X00,0X00,0X00,0X00,0X00,0X03,0XDC,0X00,
  0X04,0X00,0X00,0X00,0X00,0X01,0XC0,0X00,0X0E,0X00,0X00,0X00,0X00,0X00,0X80,0X00,
  0X06,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X01,0X00,0X00,0X00,0X10,0X00,0X00,0X00,
  0X08,0X00,0X00,0X00,0X0E,0X00,0X00,0X00,0X08,0X00,0X00,0X00,0X8F,0X00,0X00,0X00,
  0X00,0X00,0X02,0X02,0X47,0X00,0X00,0X00,0X00,0X00,0X01,0X10,0X63,0X80,0X00,0X00,
  0X00,0X00,0X01,0XC9,0X73,0XC0,0X00,0X00,0X00,0X00,0X00,0XE4,0X79,0XE0,0X00,0X00,
  0X00,0X02,0X00,0XFA,0XF9,0XE0,0X00,0X00,0X10,0X02,0X00,0X7D,0X8C,0XF0,0X00,0X00,
  0X10,0X03,0X01,0X7E,0X90,0XF1,0X80,0X00,0X10,0X01,0X20,0XFD,0X1C,0X7B,0XE0,0X00,
  0X00,0X01,0XA0,0X7D,0X03,0X7B,0X20,0X00,0X10,0X01,0XD8,0XFF,0X8B,0X7E,0X30,0X00,
  0X00,0X01,0XFC,0X7F,0X83,0XB6,0X10,0X00,0X00,0X00,0XF7,0XFF,0XC7,0XBE,0X10,0X00,
  0X00,0X01,0X8F,0XFF,0XE3,0XF6,0X10,0X00,0X01,0X01,0X4F,0XFF,0XFF,0XFF,0X10,0X00,
  0X00,0X01,0XCF,0XFF,0XFF,0XDF,0X10,0X00,0X00,0X01,0XC3,0XFF,0XFF,0XDF,0X70,0X00,
  0X01,0X03,0XE3,0XFF,0XFF,0XDF,0XE0,0X00,0X04,0X01,0XE7,0XFF,0XFF,0XDF,0XE4,0X00,
  0X07,0X00,0XFB,0XFF,0XFF,0XDF,0XC0,0X00,0X07,0X00,0XFB,0XFF,0XFF,0XFE,0X00,0X00,
  0X13,0X00,0X7F,0XFF,0XFF,0XFC,0X00,0X00,0X01,0X20,0X3F,0XFF,0XFF,0XFC,0X00,0X00,
  0X00,0X00,0X3F,0XFF,0XFF,0XF8,0X00,0X0B,0X00,0X00,0X1F,0XFE,0X0F,0XF8,0X00,0X1F,
  0X00,0X00,0X1F,0XF8,0X6F,0XF0,0X00,0XFF,0X00,0X00,0X1F,0XE1,0XFF,0XF0,0X05,0XFF,
  0X00,0X00,0X0F,0XF3,0XFF,0XE0,0X03,0XFF,0X00,0X40,0X0F,0XF7,0XFF,0XC0,0X07,0XFF,
  0X00,0X00,0X07,0XFF,0XFF,0X80,0X07,0XFF,0X08,0X00,0X07,0XFF,0XFF,0X00,0X0F,0XFF,
  0X00,0X00,0X23,0XFF,0XFE,0X00,0X0F,0XFF,0X00,0X08,0X60,0XFF,0XFE,0X00,0X0F,0XFF,
  0X00,0X40,0X20,0X3F,0XFE,0X00,0X1F,0XFF,0X00,0X00,0X10,0X0B,0XFF,0X80,0X1F,0XFF,
  0X00,0X00,0X40,0X00,0X3F,0X00,0X1F,0XFF,0X00,0X00,0X10,0X00,0X3F,0X00,0X1F,0XFF,
  0X20,0X00,0X02,0X00,0X3F,0X00,0X3F,0XFF,0X00,0X00,0X00,0X00,0X7F,0X80,0X3F,0XFF,
  0X00,0X00,0X00,0X10,0X7F,0X80,0X7F,0XFF,0X00,0X00,0X00,0X80,0X7F,0X80,0X7F,0XFF,
  0X10,0X00,0X00,0X00,0X7F,0X80,0XFF,0XFF,0X30,0X00,0X00,0X00,0X7F,0X80,0XFF,0XFF,
  0X10,0X10,0X00,0X00,0X7F,0XC1,0XFF,0XFF,0X00,0X00,0X00,0X00,0X7F,0XF3,0XFF,0XFF,
  0X00,0X00,0X01,0X00,0X3F,0XFF,0XFF,0XFF,0X00,0X00,0X00,0X04,0X3F,0XFF,0XFF,0XFF,
  0X00,0X00,0X00,0X00,0X3F,0XFF,0XFF,0XFF,0X00,0X00,0X10,0X80,0X1F,0XFF,0XFF,0XFF,
  0X01,0X00,0X00,0X05,0X1F,0XFF,0XFF,0XFB,0X00,0X00,0X00,0X00,0X1F,0XF7,0XFF,0XFC,
  0X00,0X00,0X00,0X00,0X1F,0XFB,0XFF,0XFF,0X00,0X00,0X40,0X00,0X19,0XFF,0XFF,0XFF,
  };

  oled.clearDisplay();
  oled.drawBitmap(3, 1, gImage_1, 64, 64, WHITE);
  oled.display();
}
</code></pre><p><img src="https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2024/06/16/78350c19ly8hu4vppewusj21hc140qb3.jpg" alt=""></p>
        
        <hr><p>この記事は2024-06-16に<a href='https://zh.moejue.cn/'>阿珏酱のBlog</a>で公開され、最終更新日は2025-04-13です</p>]]>
      </description>
      
        <category>折腾代码</category>
      
    </item>
    
    

    <item>
      <title>オープンソースでシンプルかつスタイリッシュな、酷狗のサードパーティ製クライアント V1.0.0 Beta</title>
      <link>https://zh.moejue.cn/ja/posts/225/</link>
      <pubDate>Sun, 03 Nov 2024 12:48:04 &#43;0000</pubDate>
      <author>xxx@example.com (MoeJue)</author>
      <guid>https://zh.moejue.cn/ja/posts/225/</guid>
      <description>
        <![CDATA[<h1>オープンソースでシンプルかつスタイリッシュな、酷狗のサードパーティ製クライアント V1.0.0 Beta</h1><p>著者: MoeJue(xxx@example.com)</p>
        
          <p><img src="https://github.com/iAJue/MoeKoeMusic/raw/main/images/logo.png" alt="Logo"></p>
<h2 id="moekoe-music">
<a class="header-anchor" href="#moekoe-music"></a>
MoeKoe Music
</h2><p>オープンソースでシンプル、見た目も美しいKuGouのサードパーティクライアント<br>
<a href="https://github.com/iAJue/MoeKoeMusic/"><strong>🌎 GitHubリポジトリ</strong></a>  |  <a href="https://github.com/iAJue/MoeKoeMusic/releases"><strong>📦️ インストーラーをダウンロード</strong></a>  |  <a href="https://MoeJue.cn"><strong>💬 ブログを訪問</strong></a></p>
<p><img src="https://github.com/iAJue/MoeKoeMusic/raw/main/images/5.png" alt="images"></p>
<h2 id="はじめに">
<a class="header-anchor" href="#%e3%81%af%e3%81%98%e3%82%81%e3%81%ab"></a>
はじめに
</h2><p>10年ほど前、ウェブ版QQを使っていた頃からKuGou Musicを使い始めました（もう10年来のファンです）。なので、この数年で集めた曲はすべてそこにあります。その後、NetEase Cloud MusicやQQ Musicも試してみましたが、KuGouのプレイリストをインポートしようとしても、結果は芳しくありませんでした。私が聴くのは主に日本のアニメのOPで、多くの曲が見つかりませんでした。</p>
<p>結局、KuGouに戻ってきました。しかし、Mac版のKuGouは時々再生できないことがありました。インターフェースはシンプルですが、それはそれで良い点です。ネットユーザーの勧めで、今はKuGouの<a href="https://t1.kugou.com/d2tBza3CSV2">コンセプト版</a>で音楽を聴いています。これは市場で数少ない、VIP曲を無料で聴ける音楽プレイヤーで、強くお勧めします。</p>
<p>私の自己紹介ページで、特に日本のアニメのOPを聴くのが大好きだと書きました。それをどう証明するか？（以前のウェブ版プレイリストも長年放置されていました）そうだ、自分で音楽プレイヤーを開発しよう、と。</p>
<h2 id="-特徴">
<a class="header-anchor" href="#-%e7%89%b9%e5%be%b4"></a>
✨ 特徴
</h2><ul>
<li>✅ Vue.js ファミリーを使用して開発</li>
<li>🔴 KuGouアカウントでのログイン（QRコード/携帯電話/アカウントでのログイン）</li>
<li>📃 歌詞表示をサポート</li>
<li>📻 毎日のおすすめ曲</li>
<li>🚫🤝 ソーシャル機能一切なし</li>
<li>🔗 公式サーバーに直接接続、サードパーティAPIは一切使用しません</li>
<li>✔️ 毎日VIPを自動で受け取り、ログインするだけでVIPに</li>
<li>🎨 テーマカラーの切り替え</li>
<li>👋 起動時の挨拶メッセージ</li>
<li>⚙️ マルチプラットフォーム対応</li>
<li>🛠 さらに多くの機能を開発中</li>
</ul>
<h2 id="todo-list">
<a class="header-anchor" href="#todo-list"></a>
Todo List
</h2><ul>
<li>[ ] 📺 MV再生をサポート</li>
<li>[ ] 🌚 Light/Dark Modeの自動切り替え</li>
<li>[ ] 👆 Touch Barをサポート</li>
<li>[ ] 🖥️ PWAをサポート、Chrome/Edgeのアドレスバー右側の ➕ をクリックしてPCにインストール可能</li>
<li>[ ] 🟥 Last.fm Scrobbleをサポート</li>
<li>[ ] 🎧 Mprisをサポート</li>
<li>[ ] ⌨️ カスタムショートカットキーとグローバルショートカットキー</li>
<li>[ ] 🤟 多言語対応</li>
<li>[ ] 📻 デスクトップ歌詞</li>
<li>[ ] ⚙️ システムアーキテクチャの最適化</li>
<li>[ ] 🎶 曲、プレイリスト/お気に入り、削除</li>
</ul>
<h2 id="-インストール">
<a class="header-anchor" href="#-%e3%82%a4%e3%83%b3%e3%82%b9%e3%83%88%e3%83%bc%e3%83%ab"></a>
📦️ インストール
</h2><p>本プロジェクトの <a href="https://github.com/iAJue/MoeKoeMusic/releases">Releases</a> ページにアクセスしてインストーラーをダウンロードしてください。</p>
        
        <hr><p>この記事は2024-11-03に<a href='https://zh.moejue.cn/'>阿珏酱のBlog</a>で公開され、最終更新日は2024-11-04です</p>]]>
      </description>
      
        <category>折腾代码</category>
      
    </item>
    
    

    <item>
      <title>敗者復活戦に勝って、生き返った</title>
      <link>https://zh.moejue.cn/ja/posts/206/</link>
      <pubDate>Thu, 03 Oct 2024 02:48:02 &#43;0000</pubDate>
      <author>xxx@example.com (MoeJue)</author>
      <guid>https://zh.moejue.cn/ja/posts/206/</guid>
      <description>
        <![CDATA[<h1>敗者復活戦に勝って、生き返った</h1><p>著者: MoeJue(xxx@example.com)</p>
        
          <h3 id="近況">
<a class="header-anchor" href="#%e8%bf%91%e6%b3%81"></a>
近況
</h3><p>前回の雑談からもう2ヶ月以上も経ってしまいました。そろそろ自分の考えを整理する時が来たようです。前回は色々と感慨を述べたきり音沙汰がなかったので、少し急ぎすぎたかもしれません。その後の作業が追いつかなくなってしまいました。</p>
<p>また国慶節の季節がやってきました。やはり私の国慶節は「独身の日（ダブルイレブン）」のようなものです。以前所有していた3つのドメイン（52ecy.cn, moeins.cn, moeins.com）は、復活戦には勝ったものの、装備がなくなってしまいました。</p>
<p>そのため、ドメインを新規購入するしかありませんでした。同時にもブログを復旧させました。やはり自分でいじりたいのでしょう。博客园（cnblogs）に間借りするのは、どうも居心地が悪く感じます。</p>
<p>以前からずっと使っていたemlogですが、この機会に思い切ってシステムをWordPressに移行し、同時に新しいテーマに切り替えました。このテーマは<a href="https://www.boxmoe.com/">专收爆米花</a>さんが21年頃にリリースしたもので、当時locで見かけてすぐにstarを付け、私のGitHubで4年間眠っていました<a href="https://github.com/iAJue/lolimeow">lolimeow</a>。当時はずっとemlogを使っていたので、いじるのが面倒だったのです。この機会に乗じて、徹底的にやろうと決め、データの移行やテーマの調整など、かなりの手間をかけました。</p>
<p>作者の方がずっとテーマの更新を積極的に進めてくれていたおかげで、使用中に大きな問題はありませんでした。しかし、私が以前使っていたシステムの機能がいくつか欠けていたので、私もこのテーマを更新し、元のリポジトリにプルリクエストを送りました。上に貼ったGitHubのリンクは私が更新した後のものです。<img src="https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2024/10/03/78350c19ly8hu90no7xm8j20w414kdue.jpg" alt=""> 最も面倒だったデータ移行の部分ですが、ネットで長いこと探し回ってもexe版しか見つかりませんでした。exe版はなんとなく不安な感じがする上に、私は今Macを使っているので、直接実行することもできません。「ないなら自分で作ればいい」ということで、時間をかけて移行スクリプトを自作するしかありませんでした。GitHubのアドレスは記事の最後に載せてあります。emlogのデータをWordPressに完璧に移行できます。さすが俺！<img src="https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2024/10/03/78350c19ly8hu86bsccndj21hc0u0gr1.jpg" alt=""></p>
<p>画像はこれまで通り、一部はバックアップとして七牛云（Qiniu Cloud）に、もう一部は新浪图床（Sina Image Hosting）に保存しています。移行してみると、市場には私に適した使いやすい七牛云プラグインがなかったので、また自分で一つ作りました。<img src="https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2024/10/03/78350c19ly8hu8aervippj20z608i0ws.jpg" alt=""> <img src="https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2024/10/03/78350c19ly8hu8aexj66gj20zw12yk01.jpg" alt=""></p>
<h3 id="新ドメイン">
<a class="header-anchor" href="#%e6%96%b0%e3%83%89%e3%83%a1%e3%82%a4%e3%83%b3"></a>
新ドメイン
</h3><p>あまり気は進みませんでしたが、またドメインを変更するしかありませんでした。以前のドメインは他人の肥やしになってしまいました。萌音シリーズ：MoeKot.cn。「萌音ノート」「萌音カード」「萌音コミュニティ」「萌音ストア」などを含む萌音シリーズは、今後このドメインの下に置かれます。メインサイトシリーズ：MoeJue.cn。これは私のメインサイトで、ブログやシリーズに属さないプロジェクトなどがこのドメインの下に置かれます。</p>
<h4 id="解説">
<a class="header-anchor" href="#%e8%a7%a3%e8%aa%ac"></a>
解説
</h4><p>Moe: 日本語の「萌え」の読み方で、ローマ字表記です。中国語では一般的に「萌」と訳されます。
Kot: 日本語の「声（こえ）」を意味する言葉で、ローマ字表記です。
Jue: 阿珏（A Jue）ちゃんの簡単な音訳です。</p>
<h3 id="ブログ">
<a class="header-anchor" href="#%e3%83%96%e3%83%ad%e3%82%b0"></a>
ブログ
</h3><p>私はとても昔を懐かしむ情に厚い人間なので、以前のブログもすべて残してあります。<a href="http://xlog.moejue.cn/">Xlog</a> <a href="https://www.cnblogs.com/Ajue">cnblogs</a> <a href="https://log.MoeJue.cn">emlog</a> <a href="https://blog.moejue.cn">Blog</a> 関連サイトのドメインも移行しましたが、すべてをリストアップするのはやめておきます。もちろん、一部のリンクが完全に置換されていない可能性もあります。</p>
<p>すべてのデータは元のままで、誰一人のデータも欠けていません。ブログの登録ユーザーのデータさえも一緒に移行したので、新しいシステムで直接ログインできます。パスワードも同じです。</p>
<h5 id="ぜひstarを付けてください">
<a class="header-anchor" href="#%e3%81%9c%e3%81%b2star%e3%82%92%e4%bb%98%e3%81%91%e3%81%a6%e3%81%8f%e3%81%a0%e3%81%95%e3%81%84"></a>
ぜひstarを付けてください！
</h5><p>使い方もREADME.mdに書いておきました。何か問題があれば、直接issueを立ててください。</p>
<h4 id="emlogからwordpressへの移行スクリプト">
<a class="header-anchor" href="#emlog%e3%81%8b%e3%82%89wordpress%e3%81%b8%e3%81%ae%e7%a7%bb%e8%a1%8c%e3%82%b9%e3%82%af%e3%83%aa%e3%83%97%e3%83%88"></a>
<a href="https://github.com/iAJue/migrate_emlog_to_wp">emlogからWordPressへの移行スクリプト</a>
</h4><p>私のブログは間もなくTencent Cloud開発者コミュニティにも同期される予定です。皆さんのご参加をお待ちしています：<a href="https://cloud.tencent.com/developer/support-plan?invite_code=15kxzzid10tgx">https://cloud.tencent.com/developer/support-plan?invite_code=15kxzzid10tgx</a></p>
        
        <hr><p>この記事は2024-10-03に<a href='https://zh.moejue.cn/'>阿珏酱のBlog</a>で公開され、最終更新日は2024-10-26です</p>]]>
      </description>
      
        <category>折腾代码</category>
      
    </item>
    
  </channel>
</rss>
