Rustコミュニティを Django と AI で作ったって?
(rust-lang.kr)最近 Rust の勉強を始めて、良いコミュニティがあればいいなと思い、自分で作ることにしました。最初は「Rust で作ってみようかな?」とも考えたのですが、公開コミュニティである以上、「多くの人が安定して使えることの方が重要だ」と考え、経験の多い Django で開発することにしました。
(フロントエンドなどの追加説明は下で詳しくお話しします 👏)
サイト
- Rust 国内コミュニティ : https://rust-lang.kr
- バックエンド(Django) ソースコード : https://github.com/lee-lou2/rust-korea
バックエンド
上でお話しした通り、バックエンドは Django を使って開発しました。
[ 適用した技術 ]
- データベースには Sqlite3 を使っていますが、Django ORM を使用しているので簡単に置き換えられます。
- ビルド済みのフロントエンドコードは Django Template View でレンダリングしました。
- そのため自然にセッションを使う構成になりました。
- 無限スクロールや高度な機能を使うため、DRF を用いた Rest API も追加開発しています。
- DRF には Filterset の適用と Throttling の適用を行い、安定性を高めました。
[ 実装した機能 ]
- フィードの作成/編集と、無限スクロール形式で閲覧できる機能を含んでいます。
- フィードのいいね機能と通報機能も実装しました。
- コメント、返信コメントの作成/編集/閲覧、コメントのいいね、コメント通報機能もあります。
- カテゴリ分類を行い、プレビュー付きリンク挿入もできるように開発しました。
- Google ログイン、プロフィール編集、自分の投稿管理などの個人メニューも含まれています。
フロントエンド
普段は主にバックエンド開発ばかりしているので、フロントエンドも作れはするものの、うまく作れるわけではなく、AI の力を借りることにしました。
私が使ったサービスは bolt.new です。
(open bolt としてローカルで自分の API KEY を使って利用する方法もあります)
自然言語で簡単にフロントエンドを作れる Web サイトです。
- とりあえず簡単に要件を書いてみたら、最初からとても気に入るサイトが出てきたのです。
- 「うわ、これはすごい」と思って機能をどんどん追加していきました。
- 細かな制御も可能で、ほとんどの機能がほぼ完璧に実装されました。
- 「ここで終わってくれればよかったのですが…」問題はここからです。
- 自分で作った API を連携しようとした瞬間から、歯車が狂い始めました。
- それまでうまくできていたデザインが崩れ、エラーも出続けて
- 生成に使えるクレジットにも限界が近づき…
- どうしても前に進めなくなり、結局 API 連携前の状態に戻してローカルにコードをダウンロードしました。
- そこからは 2人目の AI の相棒と一緒に作業を始めました。
- それが Cursor です。
- ローカルで API を直接連携しながら作業すると、思った以上にうまくいきました。
- また Cursor はより精密な制御ができ、巻き戻しや部分的な文脈理解、別ドキュメント参照なども可能で、自分が考えていた以上のものを作ってくれました。
そうして目標としていたフロントエンド開発を完了しました。
おわりに
唐突ですが、Rust は本当に面白いですね(笑)。将来バックエンドをさらに高度化するときは、Rust に置き換えてみたいです。
私が作った Rust コミュニティにもぜひたくさん訪れてください 🙏 まだ投稿は多くありませんが、Hacker News の翻訳も載せていきたいですし、さまざまなイベントがあれば頑張って投稿していこうと思っています。
次はもっと良いコンテンツでまたお会いします。
最近 GeekNews に少しずつ記事を書くようになったのですが、やってみると意外と楽しいですね(笑)。
前の記事もお時間があればぜひ一度ご覧ください。
(https://ja.news.hada.io/topic?id=18602)
ありがとうございます 😊
4件のコメント
Rustのみで書かれたWebサイト https://rust-kr.org/ もご紹介します
わあ、ありがとうございます 👍
私も新しい言語をcursorで試していて、似たような試行錯誤を経験しています(笑)。共有してくださったコミュニティ、素敵ですね。
ありがとうございます 🙇♂️
いろいろな紆余曲折はありましたが、AIのおかげでとても速く楽に作業できました(笑)
dlehals2さんもぜひうまく乗り越えて、さらに素敵なプロジェクトを作られることを願っています 🎉