Zenn Publication Techstack というサイトを作った
やったこと
ZennのPublicationの技術スタックを可視化して検索できるサイトを作った。
作ったサイト: Zenn Publication Techstack
Zennの記事: ZennのPublicationの技術スタックを可視化して検索できるサイトを作りました
使った技術や構成の形式張った部分はZennの記事に書いたので、ここではもう少し感想的な部分を書いておく。
全体的な感想
まず、これまでにTypeScriptを使って素振り的に (アウトプットにはならない形ではあったが) 個人開発していたのがよかった気がする。もし、知識0から作ろうとしていたら、もっと時間がかかったはず。
サーバサイドの人間もTypeScript周りはある程度知っておく必要はあると思っていたので、今回は明確なアウトプットとして形にできたのでよかった。
全体的な開発に関して、大きく詰まる部分はなかった気がする。TypeScriptのエコシステムがよくできているというのはあると思うが、ちょっと詰まった際にすぐに解決できたように思う。数年前に比べると、問題解決力はかなり上がった気がする。具体的にどの部分が成長しているのかと聞かれると答えるのは難しいが。LLMへ聞くタイミングなんかもジュニアエンジニアよりはうまいと思いたいが、どうだろう。
ただ、いわゆるvibe codingは、GitHub Copilot Chatを使っているくらいで、Claude Codeなどを使った本格的な開発フローはまだ試してない。GitHub Copilot Chatとどれくらい違うのかは気になる。
技術要素に関して
全体的に快適だったので、わりとよい技術選定をしたと思いたい。
Cloud Run Jobs
普通に使いやすかった。ECSだとNAT Gatewayの料金がかかってくると思うので、個人開発で長時間の実行が必要な場合は、Cloud Run Jobsを使っていこうかなと思った。
ちなみに、コンテナイメージのビルドをローカルで行なっていたところ、--platform=linux/amd64をつけ忘れて、Cloud Run Jobs上で動かなくて少しハマった。ログからは原因がわからないが、過去に Cloud Runを使った際に同じことがあったので、わりとすぐ気づけたのでよかった (ローカルでビルドしないようにすればいいという話ではあるが)。
Next.js
Next.jsは初めて使ったけど、SSGで使う分には特に問題なさそうだった。巷で言われているように、Vercelに乗っかっている分には全体的な開発体験は非常に快適だった。
Lucide React・twemoji
アイコン周りは毎回悩む。shadcn/uiとの兼ね合いもあり、とりあえずLucide Reactを使った。twemojiは最初は使っていなかったが、検索部分に絵文字を表示しているので思い出したかのように導入。twemojiを使うとなんとなくよいデザインっぽい感じになる気がする。
反響
反響は今のところなし。
自分が特にWeb上で積極的に活動しているわけではないので、想定通りではあるが、Zennの記事の方はもう少し読まれてほしい気はする。
今後について
Zennの記事に書いたように、Qiita APIの要望は出したので、Qiita側で対応してくれるのを気長に待つ。
それ以外にも少し機能追加を考えているので、年末年始にかけてやっていければいいなと思っている。