2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【新技術の取り込みに挑戦】学習記録アプリをリニューアルしました

Posted at

はじめに

以前作成した学習記録アプリを、リニューアルすることに挑戦しました。
初めてJavaScriptからTypeScriptに変更したり、ChakraUIやreact-hook-formの導入を行ったりした過程で、学んだこと・気づいたことをまとめてみました。

:blue_book: リニューアルした学習記録アプリ

つくった (1).gif

リニューアル前との違いは以下になります。

  • ChakraUIを使って、デザインを導入
  • react-hook-formを使って、フォームにバリデーションを導入
  • TypeScriptを使用して、型安全なアプリケーションに変更

今回使用した技術スタック

  • VIte + React + TypeScript ←new!!
  • ChakraUI ←new!!!
  • supabase
  • react-hook-form ←new!!!
  • jest + react-testing-library

:writing_hand: 作成する過程で学んだこと、気づき

:book: 公式ドキュメントを読むことの大切さを改めて実感

クイックスタートと実装例はよくできている

CI/CDに入門した際、公式ドキュメントを読むことは大切だということを実感していました。

今回、登録フォームのバリデーションを作る際に、react-hook-formを導入し、改めて公式ドキュメントを参照することの大切さを学びました。

その時の奮闘は↓にまとめています。

ドキュメントを元に、自分のプロダクトに取り込めるようになった

以下の手順を繰り返し行ったことで、自分のプロダクトに取り込むという感覚が掴めたと感じています。

  1. 公式ドキュメントのQuickStartを読む
  2. ドキュメントに記載の例を読む
  3. ドキュメントの内容を理解する、わからないワードが出たら調べる
  4. 試してみる
  5. 自分のプロダクトに取り込んでみる
  6. エラーがでたらCopilotに聞く、公式ドキュメント内の情報を調べる

公式ドキュメントは開発者のために手順を明記してくれていること実感しました。

最初は、英語で書かれている、見慣れないコードやワードが多くて難しそうと感じましたが、まずはクイックスタートだけでも行ってみると、意外と難しくないかもという感覚を得られたことにも気づきました。

:runner: 急がば回れ、時間をかけて理解することの大切さを実感

わからないことをそのままにしないことを意識して開発を進めました。

そこで感じたのは、時間をかけて(=自分が納得いくまで、説明ができる状態まで)理解したことに対しては、
スムーズに思い出せる、手が動かせるようになることです。

TypeScriptに入門した際、講義動画で何気なくPartialという用語が出てきました。
その時にドキュメントを読んで使い方を理解実際にソースを書いてみる自分のプロダクトに取り込むまでを行い、学んだことを記事にしました。

その時の記事は↓になります。

その結果、Partialはここで使おう使いどころはここだなとわかるようになりました。

JestのMockについて学んだ際は、どのように使うのか、Mockとは何かを自分なりに理解まとめて言語化したことにより理解が進んだと感じています。

テストコードを作る際に、疑問点はAIや有識者に聞くどのように解決するかを理解自分で再現できるまで落とし込むことを実践しました。
具体的には、Qiitaに記事を書く、何も見ない状態で再現してみる、Copilotの自動補完を使わず書いてみるなどを行ってみました。

その結果、テストの方針を考えた後、実現したいことをすらすら書けるようになりました。

また、テストが通らなかった場合は、ここが原因で、ここを改善すれば解消するかもという検討がつくようになりました。
エラーの解消までの時間が格段に短くなったと感じています。

一度しっかり理解すれば、その後は短い時間で解決できることが自分の中で大きな学びとなりました。

現状はこれ以上理解できない、わからないことは一旦そのままにしておくことも肝心だと思いますが、自分の中で説明できるまで概念を理解することも大切だということを実感しました。

おわりに

ドキュメントを見つつ、CSSフレームワークの導入や、フォームバリデーションの導入ができるようになりました。
3か月前の私が見たら卒倒しそうです。
0→1で自分の作りたいものを作れることを目指して、今後も学習を進めていきます。

JISOUのメンバー募集中!

プログラミングコーチングJISOUでは、新たなメンバーを募集しています。
日本一のアウトプットコミュニティでキャリアアップしませんか?
興味のある方は、ぜひホームページをのぞいてみてください!
▼▼▼

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?