はじめに
今回、よくある小規模なTodoアプリ開発をReactで行いました。そこで学んだことを中心に投稿させていただきます。
こちらの記事を読んでいただいた方の何かしらの気づきのきっかけになれば幸いです。
行ったこと
- Firebase、Supabase、GitHub Actions(CI/CD)、Jest、vitestでの実装。
- 最初からAIを頼らず、脳負荷を意識し、まずは考え調べてみて自分なりの実装を行いエラー内容を見てまた調べることを心掛けました。それでも作業が進まない時はAIに助けてもらい、実装内容が納得いくまで対話し公式ドキュメントも確認するようにしました。
- CI実装する際、Jestの互換問題をどうしても解決することができず、今回vitestで対応しました。またテストコードはドキュメントだけでは解決できずAIに手伝ってもらいました。そもそもCI/CDとは?からのスタートでした。
ReferenceError: require is not defined
上記のエラーは、JestがテストファイルをESM (ECMAScript Modules) として正しく認識していない場合に発生するようで、今回jest、babelなどの設定周り、テストコードの記述を調整してもなかなか解決できそうになかったためvitestで対応しました。
学んだこと
- ドキュメントは丁寧に解説しているわけではなく、また翻訳機能の性能によって解釈の仕方が異なってくるため、難しいことが書いてある内容だとドキュメントだけで理解するのは難しく、その際はAIに手伝ってもらいました。が、ドキュメントを読む癖が着くことで、問題打開能力が付く気がします。これからも真っ先にドキュメントを読もうと思います。また、ドキュメント以外でもエンジニア先輩方々の過去のQiita投稿記事もとても参考になりました。
- 今回初めてCursor使ってみました。AIとの対話はGPTより、Cursorの方がコード貼り付けが容易で、回答の仕方もエンジニア向けな気がして対話の時短になると思いました。ただ上記添付のとおりAIを使うタイミングはとても重要だと思っています。
- 今までherokuにしかデプロイしたことがなく、今回初めてFirebaseを使用しましたが比較的簡単だった印象です。
- 機能実装することより、環境開発、データベース設定、デプロイ設定、CI/CD設定などの方が実施する回数が圧倒的に少なく苦手意識が強い方が多いのではないでしょうか?そこを解決するには数多くアプリ開発をすることが必要で、大きなアプリを開発するより小さい規模のアプリを数多く作ることでそれらの経験値を沢山得れると思います。小さなアプリの個人開発の重要性を理解することができました。
- 前回も同じような投稿をしましたがUdemyだけで終了するより個人開発をした方が圧倒的に学びが多くなります。
終わりに
これからも個人開発を継続して、壁に当たることでスキル向上を計っていきます。
そして、最新スキルのキャッチアップをしている現役エンジニアの方が一緒に伴走してくれるJISOUの環境に感謝しています。
JISOUのメンバー募集中!
プログラミングコーチングJISOUでは、新たなメンバーを募集しています。
日本一のアウトプットコミュニティでキャリアアップしませんか?
興味のある方は、ぜひホームページをのぞいてみてくださ!