はじめに
現在、JISOUというコミュニティでReactの学習をしています。今回は学習の一環で制作した名刺アプリについてご紹介します。
制作したもの
今回制作したのは、名刺作成アプリです。名刺の作成と、作成した名刺の検索ができるシンプルな機能を持っています。
大変だったところ
-
supabaseを使ったDBの作成
今回、特に苦労したのがSupabaseを用いたテーブルの作成でした。ユーザーにスキルを紐付けるため、技術選択に中間テーブルを作成してリレーションを組んでいます。しかし、中間テーブルの概念を理解するのに時間がかかりました。
最初は、次のように「tableAが中間テーブルにネストされている」イメージを持っていました。
tableA→中間テーブル→tableB
tableAの中に中間テーブルがネストされているイメージでした。
tableA←中間テーブル→tableB
実際は下のように、それぞれのテーブルが平等な関係でリレーションされていました(厳密には異なりますが、このイメージが近いです)。
また、外部キー制約の理解にも苦戦しました。外部キーをテーブルAと中間テーブルBの双方に設定してしまったため、正しくリレーションが組めませんでした。この経験を通して、外部キーと中間テーブルの役割について理解を深められました。
成長を感じたこと
-
テストの実装
数ヶ月前まで、テストについてまったく知識がありませんでした。課題を通じてテストを実装し、1ヶ月ほど勉強を続けてきました。今回の課題では、テストで詰まることはほとんどなく、学習の成果を感じられました。 -
Reactの理解
理解すべきことはまだたくさんありますが、3ヶ月前にはJavaScriptですら自信がなかった私が、Reactでアプリを制作できるようになりました。実装のイメージが湧くようになり、手が止まることも少なくなったことで、自身の成長を実感しています。
気がついたこと
継続すること
継続は力なり、ということを改めて実感しました。今回作ったアプリは、決して複雑ではありませんが、毎日コツコツ続けることで確実に成長できることがわかりました。
完璧に理解できなくても、ある程度で次に進む方が学習効率は高いと感じます。止まらずに勉強を続けていれば、後でわかるようになることもたくさんあります。
終わりに
これからも地道に学習を続け、さらにスキルを磨いていきたいと思います。