【要約】Markdownが崩れるGoogle Keepを卒業した。PCの.mdファイルとスマホをリアルタイム同期するツールを自作した話 [Zenn_Python] | Summary by TechDistill
> Source: Zenn_Python
Execute Primary Source
[WARN: Partial Data] 記事内に後編の予告が含まれているため。
// Problem
執筆者が、Zenn等の記事下書きをGoogle Keepで管理していた際、Markdownの仕様に関する課題に直面した。
- ・Markdown記号がレンダリングされず、ただの文字列として表示される。
- ・PCのローカルファイルとスマホ間で、直接的な同期ができない。
- ・データのプライバシーを巨大プラットフォームに預けることに抵抗がある。
- ・ラベル管理だけでは、増え続けるメモの整理が困難になる。
- ・VS Codeなどの使い慣れたエディタを、モバイル環境から利用できない。
// Approach
執筆者は、自身のVPSとPythonを用いて、Markdown同期ツール「mikitool」を構築した。
- ・FastAPIとDockerを用いた、軽量なWebサーバーをVPS上に構築。
- ・PythonのCLIツールを作成し、watchdogでローカルのファイル変更を監視。
- ・pip install -e . を用い、開発中のコードを即座にコマンドとして利用。
- ・CaddyとBasic認証を組み合わせ、既存サービスとの共存とセキュリティを両立。
- ・URLパラメータを利用し、記事ごとに独立したメモを作成できる仕組みを実装。
// Result
このツールにより、PCのエディタとモバイル端末をシームレスに連携させた。
- ・スマホ側でMarkdownが正しく表示され、快適なプレビューが可能になった。
- ・VS Codeでの編集内容が、保存と同時にスマホへ自動反映される。
- ・Dockerにより既存のVPS環境への影響を最小化した。
- ・自分専用の環境として、データのプライバシーを完全に制御できる。
- ・開発中のコードを即座に反映できる、高い開発体験を実現した。
Senior Engineer Insight
> 個人開発のツールとしては、極めて合理的かつ実用的な構成である。Dockerによる隔離とBasic認証の採用は、既存環境への影響を抑える上で妥当な判断だ。ただし、実戦投入においては、ファイル競合時の解決ロジックや、認証の堅牢性が重要な検討事項となる。また、スケーラビリティよりも、個人の開発体験(DX)を優先した設計思想が明確である。