![스크린샷 2024-10-13 오후 4 21 46](https://private-user-images.githubusercontent.com/163278410/376016047-3e219dea-3a52-4647-a7f7-e4ca0712399f.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkyNTk3ODcsIm5iZiI6MTczOTI1OTQ4NywicGF0aCI6Ii8xNjMyNzg0MTAvMzc2MDE2MDQ3LTNlMjE5ZGVhLTNhNTItNDY0Ny1hN2Y3LWU0Y2EwNzEyMzk5Zi5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjExJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIxMVQwNzM4MDdaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT02N2NhNmUwY2E3YjhmZmIxMjU2YzJkOGNiOGY3OTA2NzQ4MDhlZDZhOWJjZjkyZjYzYmRhYmM0ZDc3MWI3YWJlJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.34VRkbP0w17bAqkg-OcjTX88iidbq8-xJp-_JHzEFUs)
![스크린샷 2024-10-13 오후 4 21 56](https://private-user-images.githubusercontent.com/163278410/376016059-cbd86393-0e95-4297-9eb8-855d1305079d.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkyNTk3ODcsIm5iZiI6MTczOTI1OTQ4NywicGF0aCI6Ii8xNjMyNzg0MTAvMzc2MDE2MDU5LWNiZDg2MzkzLTBlOTUtNDI5Ny05ZWI4LTg1NWQxMzA1MDc5ZC5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjExJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIxMVQwNzM4MDdaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT0wZjk0ZjZjN2E5MzAzZjQxNWRkOGZhNjY5OTExNzQ3ZTlkNDQxZjUwYjVlYzcyNWYzMDYxMjI0ODZkNzFmNDRjJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.craav0KJQbQ5O2E6X8MkvByRyDZiB0b3b439UpAijws)
![스크린샷 2024-10-13 오후 4 22 27](https://private-user-images.githubusercontent.com/163278410/376016056-b429f26f-5fff-4c5c-893d-65e76a1e1dfb.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkyNTk3ODcsIm5iZiI6MTczOTI1OTQ4NywicGF0aCI6Ii8xNjMyNzg0MTAvMzc2MDE2MDU2LWI0MjlmMjZmLTVmZmYtNGM1Yy04OTNkLTY1ZTc2YTFlMWRmYi5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjExJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIxMVQwNzM4MDdaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT02NzQ5MTBkMzBkZmQyYTg1Y2M2MGZkOGYzMTNjZjIwYjg1MGY0MzI4ZmZmOTU0ZGYyZGE4M2E5Y2E0M2EzZjU1JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.leCwV6kV-z3db_Xw5MFFg-S9GIfhFP6xu2_1PhC_XVg)
![스크린샷 2024-10-13 오후 4 23 17](https://private-user-images.githubusercontent.com/163278410/376016096-3805b481-1c05-49e3-a7b4-d14c9cbb5e64.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkyNTk3ODcsIm5iZiI6MTczOTI1OTQ4NywicGF0aCI6Ii8xNjMyNzg0MTAvMzc2MDE2MDk2LTM4MDViNDgxLTFjMDUtNDllMy1hN2I0LWQxNGM5Y2JiNWU2NC5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjExJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIxMVQwNzM4MDdaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT05OTNkNTY3ZjVjMWI2M2MxNTM2MTEyOWZjMDMxNDgxZjc0MWI5MDAxODQ4ZDkyNDA2MWFmYTAwZGNmODcwZmMwJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.df33fS3-0_0bzkIxPuCfDo73jEatpAO_7MqM70zdC10)
![스크린샷 2024-10-13 오후 4 23 20](https://private-user-images.githubusercontent.com/163278410/376016105-b9a0d767-4982-461e-9d9b-7d0091ce5a06.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkyNTk3ODcsIm5iZiI6MTczOTI1OTQ4NywicGF0aCI6Ii8xNjMyNzg0MTAvMzc2MDE2MTA1LWI5YTBkNzY3LTQ5ODItNDYxZS05ZDliLTdkMDA5MWNlNWEwNi5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjExJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIxMVQwNzM4MDdaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1jMTdlNjU0YmNmYzJmOTIzZTkzYzI3MTcxNjkyZGVmYTM4MDU4MTZkMDc5NTg4OGJhOWJhYjY0N2FjNTQxZDJjJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.hAWAaSoaRqyxzcaCbv26LklbKf5hybsLEVwHq_kNrSM)
![스크린샷 2024-10-13 오후 4 23 23](https://private-user-images.githubusercontent.com/163278410/376016104-5bc55009-158b-49f3-ac2f-fe2e7cf9b0b3.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkyNTk3ODcsIm5iZiI6MTczOTI1OTQ4NywicGF0aCI6Ii8xNjMyNzg0MTAvMzc2MDE2MTA0LTViYzU1MDA5LTE1OGItNDlmMy1hYzJmLWZlMmU3Y2Y5YjBiMy5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjExJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIxMVQwNzM4MDdaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT0xMGYxZTdkNTZmODg4ZmRjZTdlMzhkMjlhNzQyOTljOTNjYjE2MzNiMTZmMDcxMGJjMmVmNDc2OWI1ZGI3MmVkJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9._WWw__1PNrbE2kJgElUo3QKlwODQ8qCpQpwhKm_hBc4)
![스크린샷 2024-10-13 오후 4 23 56](https://private-user-images.githubusercontent.com/163278410/376016177-d6d1d25a-948e-4442-85f6-7308383040b0.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkyNTk3ODcsIm5iZiI6MTczOTI1OTQ4NywicGF0aCI6Ii8xNjMyNzg0MTAvMzc2MDE2MTc3LWQ2ZDFkMjVhLTk0OGUtNDQ0Mi04NWY2LTczMDgzODMwNDBiMC5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjExJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIxMVQwNzM4MDdaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT05MmIwYWQ4MTg1NjFjYzU5YWI2N2QwNGNiMTEzY2Q5ZGVkNjUwZTQ4ZTA2NmY2NzFmOTUwNzhiYjJiMzliZjRlJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.WqkBgCijslUVB2_-twGODtZC9JXQK6Ft2yJCj9AI1U0)
![스크린샷 2024-10-13 오후 4 24 10](https://private-user-images.githubusercontent.com/163278410/376016174-67fa5e8f-73ef-497f-ab52-5f20629d1cfb.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkyNTk3ODcsIm5iZiI6MTczOTI1OTQ4NywicGF0aCI6Ii8xNjMyNzg0MTAvMzc2MDE2MTc0LTY3ZmE1ZThmLTczZWYtNDk3Zi1hYjUyLTVmMjA2MjlkMWNmYi5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjExJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIxMVQwNzM4MDdaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT01YTI5YzZiOWJhNTI2MjMxYTgyMzZhZTcxNTE0M2YzZjA5YzExOTIyMmY2MmI5MGJhNzBiYmQxNmJhZDc4NTUzJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.M7Lvn1IILjRAALMQhOhuMkUVQtrxu7Fu3mpnJIdQv24)
![스크린샷 2024-10-13 오후 4 24 27](https://private-user-images.githubusercontent.com/163278410/376016172-a763dc28-e6a2-4644-9cbe-c394d184a83b.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkyNTk3ODcsIm5iZiI6MTczOTI1OTQ4NywicGF0aCI6Ii8xNjMyNzg0MTAvMzc2MDE2MTcyLWE3NjNkYzI4LWU2YTItNDY0NC05Y2JlLWMzOTRkMTg0YTgzYi5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjExJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIxMVQwNzM4MDdaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT03NDlhNGEzOGMyNTkyNzJmNTgwYmEzYjliZjc1NjcyMzRlZDNhNThlNzIyM2M3Y2JmZTdiNjI0ZWNlZjk0Mjc1JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9._vqfe8nvh3ReGowTXXANVOgE6BKfsZDCnFt_tXAEkR0)
![스크린샷 2024-10-13 오후 4 24 42](https://private-user-images.githubusercontent.com/163278410/376016168-48cd524a-8713-4c87-a430-fa955376e72b.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkyNTk3ODcsIm5iZiI6MTczOTI1OTQ4NywicGF0aCI6Ii8xNjMyNzg0MTAvMzc2MDE2MTY4LTQ4Y2Q1MjRhLTg3MTMtNGM4Ny1hNDMwLWZhOTU1Mzc2ZTcyYi5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjExJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIxMVQwNzM4MDdaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1iYzkwMDY3YTU0ZmJkYmI0ZDkyZjMxMmFjYzU4ZTUyNDNjZTE3ZmIxOGY2ZjQ2N2NkNmMyNjc5MTNiZjA0NGY1JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.BODFxR4VEJaVNe9vCyNEiiO9mI8lQ6FppfJCXA1-Htw)
![스크린샷 2024-10-11 오전 12 47 12](https://private-user-images.githubusercontent.com/163278410/375452058-21049fc3-6f96-42bb-98d0-2bff5fbc25a7.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkyNTk3ODcsIm5iZiI6MTczOTI1OTQ4NywicGF0aCI6Ii8xNjMyNzg0MTAvMzc1NDUyMDU4LTIxMDQ5ZmMzLTZmOTYtNDJiYi05OGQwLTJiZmY1ZmJjMjVhNy5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjExJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIxMVQwNzM4MDdaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1mNjdkMjY0MTQ1NDQzZWVkNWIwZTU0NGNlNTcwMTIyNzk5MDJkM2MxMDMyZjA1YWNhYjRiMWRlYThiZWQzZmIxJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.NM4sP2G1ERw-t1l84O8T3EbxOxkiVAejmm9YZmZfXq8)
- 배포 파이프라인
![스크린샷 2024-10-11 오전 12 45 06](https://private-user-images.githubusercontent.com/163278410/375451330-fd6c3e8a-a341-4cb1-a5ae-185822f7009e.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkyNTk3ODcsIm5iZiI6MTczOTI1OTQ4NywicGF0aCI6Ii8xNjMyNzg0MTAvMzc1NDUxMzMwLWZkNmMzZThhLWEzNDEtNGNiMS1hNWFlLTE4NTgyMmY3MDA5ZS5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjExJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIxMVQwNzM4MDdaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1iODUxNWFkZmQ0OTZkZGY0YWNmOWE1NjMzMWI1OGQzNjY1OWVlOTk2ODNkNTNlNmRlYjQxYjYxYzdjMjA2MDU0JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9._x3_ehBv2c1dDro0Y672RCS_4oMoHB9wn5DEj5IdXMI)
분류 | 기술 |
---|---|
Language | |
Framework | |
Remote Data | |
Data Management | |
Library | |
DevOps |
![스크린샷 2024-10-11 오전 12 48 15](https://private-user-images.githubusercontent.com/163278410/375452429-33998fbc-3033-41b6-90fe-100f3ac8b8e2.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkyNTk3ODcsIm5iZiI6MTczOTI1OTQ4NywicGF0aCI6Ii8xNjMyNzg0MTAvMzc1NDUyNDI5LTMzOTk4ZmJjLTMwMzMtNDFiNi05MGZlLTEwMGYzYWM4YjhlMi5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjExJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIxMVQwNzM4MDdaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1iMTIzMGVmNTUxOGQ0MDgyMjUwNDBhM2U2OTNjY2UwNDlkYWRjNTlmOTU1ZDI1MGQ0YzA0ZTk2YmU5YTcyNWM1JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.aiTLlLEKReOSVpPTd0_E5Hq4KXJnKMsO8nnPZ1TTtAM)
- 개발 환경 : 유지 보수를 용이하게 하기 위해 역할 명확히 구분
- 커스텀 훅 : 데이터 fetching과 상태 관리에 집중하여 UI와의 결합도 낮춤
- 비즈니스 로직 : 서비스 레이어로 분리해 모듈화
- 이를 통해 코드의 가독성을 높임, 변경 시 영향 범위를 최소화
![]() |
![]() |
--문제--
- 한 페이지에 컴포넌트와 모달 수가 증가하면서 여러 컴포넌트를 거쳐야 하는 프롭스드릴링 이슈가 발생
- 자식 컴포넌트에서 부모컴포넌트로 state를 올려줘야 하기 때문에 코드가 복잡해짐
- 가독성 하락 및 유지보수 불편
--해결--
- 상태관리 라이브러리 zustand 도입
- state를 전역에서 관리
- drilling 없이 state를 사용하고 싶은 곳에서 꺼내씀
![스크린샷 2024-10-11 오전 1 13 51](https://private-user-images.githubusercontent.com/163278410/375461025-382d020d-654b-4354-bce2-052039b9a166.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkyNTk3ODcsIm5iZiI6MTczOTI1OTQ4NywicGF0aCI6Ii8xNjMyNzg0MTAvMzc1NDYxMDI1LTM4MmQwMjBkLTY1NGItNDM1NC1iY2UyLTA1MjAzOWI5YTE2Ni5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjExJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIxMVQwNzM4MDdaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT02NjM2NzVmZTIwYjIyNWY5OGE0ZDgwOTE1MGE3OTIyNTI0OTIzNmIzNmU0NmQwNmNhNTRmZDMzMmJkYzAwZmIzJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.KjwlOTonFQLU4tLt-UDTss4MwGNwNMGnvwJQVCNQF2c)
--문제--
- 비즈니스 로직이 컴포넌트 코드에서 많은 부분을 차지
--해결--
- 비즈니스 로직을 커스텀 훅으로 분리
- 컴포넌트 코드를 화면 렌더링에 집중
![스크린샷 2024-10-11 오전 1 19 09](https://private-user-images.githubusercontent.com/163278410/375462774-c3675353-abcf-445d-a249-537507bb7445.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkyNTk3ODcsIm5iZiI6MTczOTI1OTQ4NywicGF0aCI6Ii8xNjMyNzg0MTAvMzc1NDYyNzc0LWMzNjc1MzUzLWFiY2YtNDQ1ZC1hMjQ5LTUzNzUwN2JiNzQ0NS5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjExJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIxMVQwNzM4MDdaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1mZDFhNjg2NDk2NzU5YTQ1OTVlMmMyNDg4OTE4Y2NmYjQwZDNiZGRmN2RkYWY5NjU0NzVjYTVkNTA4YjRkMTRlJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.gOdWWa9ulXgaAD6j_OKa2dyvwn-eLbR5JNKNsb8XdD0)
--문제--
- 불필요한 리소스의 일괄 로드로 인한 페이지 성능 문제
--해결--
- code spliting
- lazy loading
--개선--
- 초기 로딩 시간 단축
- 번들 크기 단축
- 성능 64 -> 94
![스크린샷 2024-10-11 오전 1 23 34](https://private-user-images.githubusercontent.com/163278410/375464013-5875e393-6325-4c85-95d1-64a0a670d0f0.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkyNTk3ODcsIm5iZiI6MTczOTI1OTQ4NywicGF0aCI6Ii8xNjMyNzg0MTAvMzc1NDY0MDEzLTU4NzVlMzkzLTYzMjUtNGM4NS05NWQxLTY0YTBhNjcwZDBmMC5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjExJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIxMVQwNzM4MDdaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT0yNzU1MGM2Njk3ZjU5MjNiZjY1OTU4NTIxZWY4YzAxNDhkZDY4NDRlZjE5ZGE3ODRlNGE5NTQ1NTkwNzFhZjhhJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.5Mf3I6L8-krAHzWDSrTx2iLpSR3OyX-9ABsFjXgpiAk)
--문제--
- 종목 검색 시 onChange 이번트를 적용하여 불필요한 API 호출이 과도하게 발생
--해결--
- lodash 라이브러리의 debounce함수 적용
--개선--
- '카카오', '카카오게임즈', '카카오뱅크'를 검색했을 때의 검색 API 호출량을 기존 48회에서 3회로 감소
- github repository에 코드가 병합
- github action을 통해 자동으로 배포가 진행
- 이때 깃헙액션에서 리액트 정적 파일을 빌드
- 빌드된 파일을 S3에 업로드
- CloudFront로 배포
- 브랜치에 따라 각각
개발용 버킷
과운영용 버킷
에 업로드