前言#
本記事は 2025-03-25
から 2025-03-30
までの週の生活の記録と考察です。
今週の最大の変化は、Antfu のオープンソースブログテーマに基づいてブログを改版し、いくつかのモジュールを追加したことです。とても楽しく作業しました。また、開発を 2 年続け、何度も諦めかけた iOS アプリ TheWan もついにリリースされました。まだ基本的な機能しかありませんが、UI デザインや細部には満足していませんが、ようやく第一歩を踏み出しました。他にもたくさんの面白いことがありました。
ブログ改版#
私はブログをいじるのが好きな人間で、これまでに Hugo ブログの構築や周辺サービスに関する記事を十数本書いてきました(詳しくは「週報 #68 - ブログを書くことと私の生活の色彩について」を参照)。多くの友人もこれらのチュートリアルを通じて私のブログを知りました。
サイトのテーマは以前好きだった古い台湾風のものでしたが、4、5 年前からはメンテナンスされていませんでした(その間にいくつかの PR を提案してモジュールを追加しましたが、結局 Hugo フレームワークの制約を受けました)。ブログの内容が増え、表現したい形が豊かになるにつれて、カスタマイズのニーズを満たすことが次第に難しくなりました。
しかし、初期の私のブログのスラッグが /zh/yy/mm/dd/:slug
のようなルーティング形式であり、Remark42 が完全な URL に基づいてマッチするため、新しいテーマ / フレームワークに移行するには多くの追加処理とリダイレクトが必要でした。そのため、ずっと放置していました。
最近、時々いくつかのブログ記事を友人のタイムラインに転送していたところ、多くの友人から「開くのが遅い」や「全く読み込めない」とのフィードバックがありました。海外にデプロイされていることに加え、ブログ自体の素材やパフォーマンスの問題も徐々に明らかになってきましたが、調査や解決が難しいため、再度移行を考えました。他のフレームワークを見てみましたが、どれも大差なく満足できるものではありませんでしたが、Astro のようなもので再構築するのも面倒でした。
ちょうど Antfu のブログantfu.meを見つけました。彼自身がカスタマイズしたフレームワークテーマで、パフォーマンスは言うまでもなく、スタイルはシンプルで美しく、機能も豊富です。私がずっと欲しかった写真展示モジュールもあり、理想のブログでした。彼に確認して許可を得た後、移行作業を始めました。
ブログ分区#
私の以前のサイトはホームページではなくブログとして位置づけられていたため、実際には記事の表示だけでした。この機会に再度分区を見直し、現在は以下のモジュールがあります:
Homepage#
Homepage は私の個人ホームページで、主に簡単な自己紹介、履歴、各プラットフォームの連絡先を表示しています。
Blog#
Blog は私のブログ記事のセクションで、Blog と Notes の 2 つのカテゴリに分かれています。
Blog は主に週報やより完全な技術記事 / チュートリアルなどを掲載し、RSS 出力を提供しています。{Folo} などの RSS リーダーで購読できます。一方、Notes モジュールは、文として成り立たないが一定の価値がある散発的なメモを含む可能性があり、閲覧はできますが、RSS には含まれないようにしています。
Projects, Talks と Podcasts#
Projects では、自分の仕事、オープンソース、いくつかのサイドプロジェクトを展示しています。これまでの数年間に行った大小のプロジェクトをまとめることができ、達成感があります。
この部分では Antfu の TOC ディレクトリを削除しました。彼のプロジェクトページを見るたびに驚かされます。私のプロジェクトが多くなって目次ナビゲーションが必要になるのはいつのことやら。
Talks では私のいくつかの講義 / 講演を紹介しています。この 2 年間、シェアラーとしてオンライン / オフラインのシェア、講義、ワークショップに参加することに熱心でした。大半はOpenBuildとのコラボレーションで、いくつかの録画や教材を整理していたら、知らず知らずのうちにかなりの量が蓄積されていました。
先輩と冗談を言い合って、「今年、Solidity の書き方をシェアする時間が、実際に Solidity を書く時間を超えてしまったかもしれない」と言ったこともあります。常に少しの恥ずかしさや不安、成りすまし症候群を感じています。
特に AI コーディングが相対的に成熟した今、アプリケーション開発はもはやハードルではなくなりましたが、実際のサービスのアーキテクチャやパフォーマンスは開発者自身の判断に依存しています。今年はもっと基礎知識を蓄積したいと思っています。
Podcasts の部分は現在まだ非常に薄いですが、実際には数年前に技術ポッドキャストフェスティバルで参加した一回だけです。当時の思考やシェアの深さも限られていましたが、ポッドキャストという形式は楽しんでいます。今年はもっと参加したり、自分でいくつか作ってみたりしたいと思っています。
Photos#
Photos はテーマの中で私が非常に好きなセクションでもあります。以前から個人サイトに Unplash のような個人写真展示モジュールを持ちたいと思っていました。自分を外に出てもっと写真を撮るように促すことができ、Ghost を使ってサブサイトを構築しようとしたこともありましたが、あまり便利ではありませんでした。今はブログに直接統合できるようになりました。
Let's Chat と Sponsors#
Let's Chat はチャット / 相談セクションです。以前は時々メールや各プラットフォームでいくつかの相談を受けていました。一般的にはブログの構築に関する問題を解決したり、技術学習や成長に関する悩みを簡単に話したりすることが多かったです。最近、ブログの改版を機に、独自の相談ページを設けました。軽い相談の一環としての個人的な試みです。
また、すべてのSponsorsはこのページに表示され、感謝の意を示します。
Friends#
以前追加した友リンクページも移行しました。皆さんの交換も歓迎します。
ブログコンポーネント#
実際にはほとんどのページは Antfu の非常に完成されたフレームワークを基に内容を微調整したもので、個人のページを除いて、主に 2 つの調整を行いました。
1 つ目は OG 画像の生成に以前の svg を使って文字を置き換える方法を使用せず、彼がより推奨するサトリオープンソースプロジェクトを使用して動的に生成しました。スタイルと柔軟性が高くなりました。
もう 1 つは、以前の Remark42 コメントシステムと GoatCounter アクセス統計システムを統合し、元のデータを保持しました。
また、Netlify の非常に便利なリダイレクト機能を発見しました。ディレクトリに_redirects
ファイルを追加するだけで、以前の古いリンクの互換性の問題を自動的に解決できます。DNS レベルで他の設定を行う必要はありません。以下の形式のように:
/zh https://www.pseudoyu.com/posts 301!
/zh/about https://www.pseudoyu.com/about 301!
/zh/links https://www.pseudoyu.com/friends 301!
/en https://www.pseudoyu.com/posts 301
/en/* https://www.pseudoyu.com/zh/:splat 301
そのため、サービスのデプロイも Netlify に移行しました。引き続き、コードをコミットするたびに自動的にデプロイされます。
TheWan iOS アプリについて#
2022 年下半期、私はReorxの n8n に関する記事を読みました —— 「自動化ワークフローを使用して情報の取り込みと出力を集約する」。彼が言う「サイバースペース」という概念に惹かれ、私の Telegram チャンネル「Yu's Life」を立ち上げ、記事のお気に入り、豆瓣の記録、B 站の投げ銭、YouTube/Spotify のいいねなど、各プラットフォームの記録を自動的に同期し、ネットワーク空間でのデジタル痕跡を集約しました。
当時、ある縁のある後輩が私に「こんなアプリを一緒に作りたい」と言ってきました。誰もが自分専用の集約チャンネルを作成できるが、n8n、rsshub、telegram bot といった面倒な技術的詳細に煩わされることはないというもので、私は非常に興味を持ち、意気投合しました。
最初は自信満々で、1 ヶ月以上かけてウェブサイトとそれに付随する API および同期サービスを作成し、詳細なドキュメントも書きました。春節にはリリースできると思っていましたが、休暇明けに私の個人生活に大きな変化があり、仕事を変え、杭州に引っ越し、しばらくの間放置しました。再び取り組むときには、すでにその勢いを失っていました。
その後の 2 年間、この製品は消滅することはありませんでしたが、予定通りにリリースされることもありませんでした。何度も延期されました。自分を納得させるために、私はそれを技術的なプレイグラウンドとして扱い、Rust で API サービスを書き、Go で同期サービスを書き、製品自体もウェブ版から SwiftUI で書かれたネイティブ iOS アプリに進化しました。
その間にも多くの面白いことがありました。製品の背後で同期に使用しているのは {RSSHub} で、今では自分がプロジェクトのメンテイナーになっているとは思いもしませんでした。最近、小宇宙の同期問題に直面し、直接上流で一連の修正を行いました。また、その間に {Folo} も誕生し、機能がいくつか重複しており、一時的に製品のモチベーションを大きく失いました。
しかし、自分の理由で延期していることに対して、共に取り組んでいる仲間に申し訳ない気持ちがありました。今年の初め、杭州と内モンゴルの 2 つの結婚式の間の久しぶりの隙間時間に、基本バージョンの開発を完了し、Apple の審査を約 2 週間戦った結果、ついに App Store に上架されました。
午前中、最初にウェイトリストに参加し、日常的に多くのコミュニケーションを取っていた読者の友人にこのニュースを伝えました。彼は言いました:
不知不觉、この 2 年で私の子供ももうすぐ 1 歳になり、あなたも結婚しましたね。本当に早いです。
私は以前からブログで、自分の製品を持ちたいと言っていましたが、実際に作り始めてから、たとえ 1.1M の小さなアプリであっても、アイデアの芽生えから最後のパッケージングまでが非常に難しいことを徐々に発見しました。しかし、いずれにせよ、第一歩を踏み出しました。振り返ってみると、軽舟は万重山を越えました。
興味のある方は、App Store で「TheWan」を検索するか、ダウンロードリンクをクリックして体験してください。
面白いことと物#
入力#
面白い入力の大部分は「Yu's Life」Telegram チャンネルで自動的に同期されますが、ここでも一部を選んで列挙してみます。ニュースレターのような感じがします。また、Telegram チャンネルのメッセージをコンテンツソースとして使って、微博客「daily.pseudoyu.com」を構築しました。これにより、より便利に閲覧できるようになりました。
お気に入り#
記事#
- 学会閉嘴 | So!azy、私は以前、他人の目に良い人になろうとしすぎて、他人と本当に心を通わせる機会を逃していたと感じています。この数年で、ようやく多く考え、適切なタイミングで少し話すことを学び始めました。
- ChatWise で MCP ツールを使用する、Chatwise は本当に今最も良い最速の MCP AI クライアントです。
- 開発者が読むブログ記事を書く方法、技術的な執筆のいくつかのテクニック。
- 人生の体験と記憶の配当、体験は往々にして人生の意味そのものである。